jQuery - 获取元素的第一个类

69

这个元素长这样:

<li class="blah active"> ... </li>

jQuery.attr('class')会返回所有类名。 如何使用jQuery仅获取第一个类名(在此示例中为“blah”)?


5
问题在于,如果你通过jQuery添加/删除类,它将不会保存项目的正确顺序。因此,也许你想检查该类是否在列表中,而不是获取第一个。 - cRichter
1
一般来说,我不会相信所有的浏览器都能按照相同的顺序将它们返回给你。 - Matt Evanoff
3个回答

137
你需要将其拆分成一个数组:

您需要使用split将其拆分为一个数组:

console.log(jQuery('selector').attr('class').split(' ')[0]);

4
可以使用正则表达式:var first = $('#foo').attr('class').replace(/^(\S*).*/, '$1'); 这行代码的作用是从元素的 class 属性中提取第一个类名。 - Pointy
在这种情况下,您应该使用 prop 而不是 attr - Druska
最优雅的解决方案!谢谢! - ClassyPimp

9
var first = jQuery.attr('class').split(" ")[0];

他说:“jQuery.attr('class')将返回两个类”,这表明他所说的 jQuery 是 jQuery 对象的一个实例,而不是调用 jQuery.fn.init 的构造函数。 - gblazex

2
您可以使用以下代码仅获取元素的第一个类:
var firstClass = jQuery('selector')[0].classList[0]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接