我正在考虑在Jquery中使用自定义属性来避免使用class或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选择器比使用自定义属性和过滤函数(如“contains,etc ...”)更快。这是对的吗?
答案 0 :(得分:87)
你可以这样做,虽然使用data-
attributes(part of the HTML5 specification),但是这样:
<li data-something="CommonLi"></li>
jQuery甚至在1.4.3+中内置了对这些内容的支持,例如:
$("li").data("something") //"CommonLi"
对于您的其他问题:
答案 1 :(得分:10)
如果您计划有多个属性我建议设置一个唯一的命名空间属性,例如
<li data-yourapp>...</li>
并像哈希表那样使用该属性
$("li").data("yourapp", {
points : 2000,
life : 1,
weapons : {
firegun : 0,
missiles : 12
}
});
通过这种方式,您将减少元素访问,并且您将检索所有自定义数据
答案 2 :(得分:1)
我个人建议你使用内置的jquery方法来保存每个元素的数据。 以下是用于保存数据的代码段:
$("ul").data("CommonUl");
$("li").data("CommonLi");