重复ID - Jquery

时间:2015-09-20 08:48:54

标签: jquery

我的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)

1 个答案:

答案 0 :(得分:0)

很多人都提出过这个建议,但我会尽量让它更清楚。在HTML5中,我们可以使用所谓的data-attributesYou 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);
});

See it here.