jQuery findClass并显示这个类是什么?
我试图找到一个类为“active”的元素,然后回显它拥有的其他类,并且只选择字符串的开头 HTML: Javascript(使用jQuery): 因此,基于小提琴 活动元素是:jQuery findClass并显示这个类是什么?,jquery,Jquery,我试图找到一个类为“active”的元素,然后回显它拥有的其他类,并且只选择字符串的开头 HTML: Javascript(使用jQuery): 因此,基于小提琴 活动元素是:Auto btn jQuery应该将类输出为:cmAuto\u btn a active 然后jQuery应该修改字符串以呈现为cmAuto\u btn 如何执行此操作?您需要使用每个迭代匹配元素集。然后可以在空格上拆分类名,并获取结果数组的第一个元素: $('.cmButtons ul li').each(functi
Auto btn
jQuery应该将类输出为:cmAuto\u btn a active
然后jQuery应该修改字符串以呈现为cmAuto\u btn
如何执行此操作?您需要使用
每个
迭代匹配元素集。然后可以在空格上拆分类名,并获取结果数组的第一个元素:
$('.cmButtons ul li').each(function() {
if($(this).hasClass("active")) {
var firstClass = $(this).attr("class").split(" ")[0];
}
});
这是一个例子
下面是一个备选方案,由于下面的注释(如果有多个元素的类处于活动状态,则仍使用每个
):
您可能应该使用这个,除非您还需要对没有活动
类的元素执行某些操作,在这种情况下,您可以将上面的示例与else
块一起使用
$('.cmButtons ul li').each(function(){
if($(this).hasClass("active"))
{
$('#result').html($(this).attr("class"));
}
});
工作示例:在本部分中“此
”不是指Li,而是指文档,因为它不在jquery选择器块中,所以当您打印此警报(this.location)
时,您可以在其中获得批准。所以试试这个
$('.cmButtons ul li').each(function(idx, val) {
if(val.hasClass("active")) {
var activeLi = val.attr("class").split(" ")[0];
$('#result').html(activeLi);
}
});
简单强>
var activeClasses = $('.cmButtons ul li.active').attr('class');
$('#result').html(activeClasses);
演示:
因此,您可以使用:
您想将LI
的类从cmAuto\u btn a active
更改为cmAuto\u btn
,还是只想打印更新示例中没有拆分代码的类。还有,你为什么要做“hasClass”,而不是仅仅让选择器.cmButtons ul li.active
?@Chris-Oops,谢谢,我已经更新了小提琴的链接。我使用的是hasClass
方法,因为OP就是这么用的。如果li
没有课,也许他们需要做些别的事情?@James:很公平。鉴于OP不知道如何做,尽管我会用最好的方式做,然后让他再问他是否需要其他东西。毕竟,你不想鼓励不良行为。:)@克里斯-是的,非常正确。我已经用你的方法更新了答案。@James:干杯。您现在已获得我的+1。;-)这将获取整个类名,而不是所要求的名称。OP只需要类列表中的第一个类。另请参阅我对James的评论,说明您为什么使用hasClass?我不确定您对这个
不指li
是什么意思。。。在每个
循环中,这个
将引用当前的li
元素。我不是说在循环中,它是关于这个示例:啊,我明白了。抱歉,我以为您指的是在每个
循环中,因为您在示例中没有使用这个
。
$('.cmButtons ul li').each(function(){
if($(this).hasClass("active"))
{
$('#result').html($(this).attr("class"));
}
});
$('.cmButtons ul li').each(function(idx, val) {
if(val.hasClass("active")) {
var activeLi = val.attr("class").split(" ")[0];
$('#result').html(activeLi);
}
});
var activeClasses = $('.cmButtons ul li.active').attr('class');
$('#result').html(activeClasses);
var active = $('.cmButtons ul li.active');
var activeClasses = active.attr('class');
$('#result').html(activeClasses);
active.doSomething();