我的html页面中存在重复ID的问题。
有时我需要从Jquery中的类中获取和id值,所以:
<span class='click' id='23'>Click</span>
在另一个班级,我有同样的身份:
<span class='classtow' id='23'>Click class two</span>
它适用于Jquery,因为它是获取类ID的另一个函数:
$(".click").click(function(){
var element = $(this);
var I = element.attr("id");
});
$(".classtwo").click(function(){
var element = $(this);
var I = element.attr("id");
});
但它没有传递HTML验证。解决这个问题的最佳做法是什么?
我知道id必须是唯一的,我想知道的是我怎么能解决这种情况(知道我需要为两者使用23值 - 它是我需要点击的用户ID)
答案 0 :(得分:0)
很多人都提出过这个建议,但我会尽量让它更清楚。在HTML5中,我们可以使用所谓的data-attributes。 You can also use these in older versions of HTML, though it won't pass a validator.(但它仍然比使用重复的ID更好!)基本上,您可以通过为其指定data-something=something
将自己的键值对添加到任何html元素。
示例:
<span class='click' data-userid='23'>Click</span>
<span class='classtwo' data-userid='23'>Click class two</span>
然后您可以使用jQuery获取该值,如下所示:
$("span").click(function () {
var element = $(this),
userid = element.data("userid");
alert(userid);
});