IE, кажется, автоматически добавляет «выбранный» атрибут в тег опции.
Но потом, если вы клонируете это, все становится странно.
Если вы откроете страницу в IE8 с кодом ниже:
<html>
<body>
<form><select><option>o1</option></select></form>
<script>
// without clone node
var elm = document.getElementsByTagName('form')[0];
alert(elm.innerHTML);
// using the form as the root to clone
elm = document.getElementsByTagName('form')[0].cloneNode(true);
alert(elm.innerHTML);
// using the select as the root to clone
elm = document.getElementsByTagName('select')[0].cloneNode(true)
alert(elm.innerHTML);
</script>
</body>
</html>
Вы получите:
1-е предупреждение с убогим атрибутом «выбранный» на теге опции
Второе предупреждение без атрибута в теге параметра (это нормально, как и в любом другом браузере!)
3-е предупреждение, с «выбранным» появляется снова
Есть идеи, почему появляется этот атрибут?
И почему cloneNode, кажется, случайно удаляет его или нет?
Примечание. Вы можете подумать, почему у этого бедняка проблемы с этим?
Причина в том, что я являюсь участником библиотеки шаблонов JS PURE
И мне трудно найти чистое решение этой проблемы: - \