为什么我不能在IE中设置LI元素的属性“TYPE”?

时间:2010-05-17 12:41:12

标签: jquery internet-explorer

我刚刚来到一个不寻常的Internet Explorer IE(v8.0.6001.18904)行为。 当我尝试设置任何< LI>的“type”属性时元素,它会导致错误。 我使用了jQuery(v1.32):

$('<li>').attr("type", "test");
or
$('<li type="test">');

同样的事情适用于DIV。 LI元素似乎没有HTML或XHTML定义保留的“type”属性。它也可能是jQuery问题。

解决方案很简单 - 只需使用另一个属性名称: - )

但有没有人知道为什么会出现这种错误?是否会发生另一个属性名称?为什么错误只带有LI元素?

更新:此问题的快速解决方案:

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

1 个答案:

答案 0 :(得分:3)

jQuery不是使用属性,而是使用.data()提供另一种机制,一个简单的例子:

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

$("li").click(function() {
  alert($(this).data("type")); //alerts "test"
});