Jquery自定义属性

我在考虑在Jquery中使用自定义属性来避免使用类或id属性,以免干扰html设计者。

考虑到这个想法,html应该是这样的:

<ul Jquery="CommonUl">
    <li Jquery="CommonLi"></li>     
    <li Jquery="CommonLi"></li>
    <li Jquery="CommonLi"></li>
    <li Jquery="CommonLi"></li>
    <li Jquery="CommonLi"></li>
</ul>
  • 你认为这是一个好方法吗?

  • 您对W3C验证这些自定义属性有什么看法?

  • 你知道有什么方法可以用jquery进行编程,而不会干扰html设计者的工作吗?

  • 关于性能,我认为使用类属性或ID时,jquery选择器比使用自定义属性和过滤功能(如“包含等等”)更快。 这是正确的吗?


  • 你可以做到这一点,尽管使用data-属性(HTML5规范的一部分),像这样:

    <li data-something="CommonLi"></li> 
    

    jQuery甚至在1.4.3+中内置了这些支持,例如:

    $("li").data("something") //"CommonLi"
    

    对于其他问题:

  • 他们会验证它是否是HTML5 - 但不会破坏HTML4中的任何内容
  • 这不应该干扰设计师,但它取决于哪个设计师
  • 如果您从元素中提取,则其性能与其他任何属性相同

  • 如果你打算有几个属性,我建议设置一个唯一的名称空间属性,例如

    <li data-yourapp>...</li>
    

    并像哈希表一样使用该属性

    $("li").data("yourapp", { 
       points  : 2000,
       life    : 1,
       weapons : {
          firegun  : 0,
          missiles : 12
       }
    });
    

    通过这种方式,您将减少元素访问,并且您将检索所有自定义数据一次


    我个人建议你使用jquery builtin方法来保存每个元素的数据。 以下是保存数据的代码片段:

    $("ul").data("CommonUl");
    $("li").data("CommonLi");
    
    链接地址: http://www.djcxy.com/p/88065.html

    上一篇: Jquery custom attributes

    下一篇: Can I add custom attribute to HTML tag?