可能是一个新手问题。我有一个像这样的代码行:
<div class="template active">
我需要为自己获得每个课程。
我试过这段代码:
$(this).attr("class");
从该代码我得到“模板激活”。我需要的是一个带有“template”的字符串和另一个带有“active”的字符串。
最好的jQuery功能是什么?实施例
答案 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