Почему я не могу установить атрибут "TYPE" элемента LI в IE? - PullRequest
1 голос
/ 17 мая 2010

Я только что пришел к необычному поведению Internet Explorer IE (v8.0.6001.18904). Когда я пытаюсь установить атрибут type для любого элемента

, это приведет к ошибке. Я использовал jQuery (v1.32):
$('<li>').attr("type", "test");<br/>
or<br/>
$('<li type="test">');

То же самое работает для DIV. Элемент LI, похоже, не имеет атрибута «type», зарезервированного определениями HTML или XHTML. Это также может быть проблема JQuery.

Решение простое - просто используйте другое имя атрибута: -)

Но есть ли кто-нибудь, кто знает, ПОЧЕМУ возникает эта ошибка? Может ли это случиться с другими именами атрибутов? Почему ошибка возникает только с элементом LI?

ОБНОВЛЕНИЕ: Быстрое решение этой проблемы:

$('<li>').data("type", "test");<br/>

1 Ответ

3 голосов
/ 17 мая 2010

Вместо использования атрибутов для этого, jQuery предоставляет другой механизм с .data(), краткий пример:

$("li").data("type", "test");

$("li").click(function() {
  alert($(this).data("type")); //alerts "test"
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...