jquery - 为什么在 IE 中无法设置 LI 元素的属性 "TYPE"?

标签 jquery internet-explorer

我刚刚遇到了 Internet Explorer IE (v8.0.6001.18904) 的异常行为。 当我尝试设置任何

  • 元素的“type”属性时,将会导致错误。 我使用了 jQuery (v1.32):

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

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

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

    但是有人知道为什么会发生这个错误吗?其他属性名称会发生​​这种情况吗?为什么只有 LI 元素才会出现错误?

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

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

  • 最佳答案

    jQuery 没有使用属性来实现此目的,而是提供了另一种机制 .data() ,一个简单的例子:

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

    关于jquery - 为什么在 IE 中无法设置 LI 元素的属性 "TYPE"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2849060/

    相关文章:

    javascript - Internet Explorer 中的 Jquery 选择框问题

    CSS:删除具有可见性的类:隐藏/position:absolute不会在 IE6/7 中取消隐藏

    javascript - angularjs 使用指令更改 css 样式

    javascript - 制作 google chrome 扩展时未捕获 ReferenceError : $ is not defined ,

    html - IE 将 anchor 元素定位在图像上

    javascript - ie中无法设置属性

    html - IE 11 问题与最大宽度的 flexbox 元素

    javascript - 使用来自 ajax 或 jquery.get() 的数据打印 div

    jquery - 使用 jQuery UI 日期选择器选择日历更改 URL

    javascript - 将鼠标悬停在表格上时显示带有信息的 div 不起作用