使用jQuery获取第一个和最后一个类

时间:2011-02-02 09:04:42

标签: javascript jquery

可能是一个新手问题。我有一个像这样的代码行:

<div class="template active">

我需要为自己获得每个课程。

我试过这段代码:

$(this).attr("class");

从该代码我得到“模板激活”。我需要的是一个带有“template”的字符串和另一个带有“active”的字符串。

最好的jQuery功能是什么?实施例

7 个答案:

答案 0 :(得分:14)

var classes = $(this).attr("class").split(/\s/);

classes[0] === 'template'
classes[1] === 'active'

如果有两个以上的类名,你只想得到第一个&amp;最后(那是你的问题)你可以打电话:

classes[0] = first class
classes[classes.length -1] = last class

答案 1 :(得分:7)

var class= $(this).attr("class").split(" ").pop();

答案 2 :(得分:5)

您可以使用Javascript split()方法:

var classes = $(this).attr("class").split(" ");

答案 3 :(得分:1)

如果您正在检查HTML元素是否有类,则可以使用.hasClass('classname'),它将返回true或false。

否则,如果您正在尝试查看列表,我认为您已将字符串拆分为数组。刚发布的另外两个答案将向您展示如何。 :)

答案 4 :(得分:0)

var class= $(this).attr("class").split(" ")  
(for i in class)
{ alert(class[i])}

答案 5 :(得分:0)

我认为this是简单的方法。

$(".element").last().addClass("highlight");

答案 6 :(得分:0)

使用map也可以这样做: -

var ArrayData = $.map($(this).attr("class").split(' '), function(value){
    return value;
});

alert("first class = '"+ArrayData[0]+"'");
alert("last class = '"+ArrayData[ArrayData.length - 1]+"'");

参考 LIVE DEMO