如何检查单击链接的类

时间:2011-04-02 20:56:57

标签: jquery

我的页面上有几个链接,并希望在用户点击它时运行JQuery脚本。以前我在链接中添加了一个唯一的ID,例如

<a id="user_1" class="mylink">

在我的点击事件中,我随后提取了ID并开始处理

userid = $(this).attr('id').split('_')[1];

现在我遇到的问题是我的页面可能有几个具有相同ID的链接,当然这是不可能的(afaik)。所以我想我必须把它添加为课程,对吧?例如

<a class="mylink user_1">

这是最好的方法吗?然后,我怎么能从类中提取userID('1')? jQuery-Script当然也应该注意有一些没有类'user _ ,,,'的链接。 非常感谢提前!

3 个答案:

答案 0 :(得分:5)

最好的方法是使用自定义data-*属性。这些符合HTML5标准,并且在早于该标准的浏览器中普遍使用。

所以您的链接可能如下所示:

<a data-user="1" class="mylink">

您的点击处理程序可能如下所示:

$('a').click(function(){
    var userId = $(this).data('user');
});

这可行,因为data会导入data-*属性。

如果未设置data-user属性,则userId将为undefined

答案 1 :(得分:1)

this.className或者如果你想使用jQuery对象(没有充分的理由这样做):$(this).attr('className')

您可以使用正则表达式(/userid_([0-9]+)/)...

从此字符串中提取ID

但是,使用HTML5 data-属性会更好。由于浏览器对未知属性非常宽容,因此它们不会破坏任何内容,并且可以与HTML4和XHTML一起使用:

<a class="mylink" data-userid="1">---</a>
...
var userid = $(this).data('userid');

好消息是:如果在数据属性中放置有效的JSON,.data('yourAttr')将自动返回一个对象而不是一个字符串。

答案 2 :(得分:0)