jQuery не может полагаться на поиск атрибутов с учетом регистра и по-прежнему совместим с браузерами.В более старой версии IE DOM я напоминаю, что все теги и атрибуты хранятся и возвращаются в верхнем регистре;поэтому тег <div id="mydiv">
отображается как <DIV ID=mydiv>
.Поэтому в Netscape или Firefox имя атрибута будет id
, а в IE - ID
.Но даже с динамически созданными элементами, которые хранятся в нужном регистре, есть несоответствия только в IE.Например, IE6 и IE8 ведут себя совершенно по-разному с getAttribute()
.Сравните:
<div></div>
var myDiv = document.getElementsByTagName('div')[0];
myDiv.setAttribute('id','id1');
myDiv.setAttribute('ID','id2');
console.log(x.getAttribute('ID')); // IE6, return "id1", IE8, returns "id2"
console.log(x.getAttribute('ID',true)); // IE6, return "id2", returns "id2"