我有一组标签,其中包含单击标签时显示的隐藏内容。 jQuery看起来像这样:
jQuery(document).ready(function($){
var sections = $('.section').hide();
$('.tablink').click(function(e){
e.preventDefault();
sections.hide();
$($(this).attr('href')).show();
$(this).closest('ul').find('li').removeClass('active');
$(this).closest('li').addClass('active');
});
var tab = getParameterByName('tab');
if(tab)
$('.tablink:eq('+(tab-1)+')').click();
else
$('#section1').show(); //show first section
});
HTML看起来像这样:
<li id="tab1" class="active"><a class="tablink" href="#section1">Link1</a></li>
<li id="tab2"><a class="tablink" href="#section2">Link2</a></li>
<li id="tab3"><a class="tablink" href="#section3">Link3</a></li>
我正在试图弄清楚如何在选项卡点击中添加一个额外的功能:
如果#tab2具有.active类,则执行X。
这似乎很直接,但我无法得到它。想法?
答案 0 :(得分:4)
您可以使用.length
来查看选择器找到的元素数量如下:
if($('#tab2.active').length === 1) {
//do something, it has the class
}
答案 1 :(得分:3)
如果#tab2具有.active类,那么就行 X
你的意思是:
if ($('#tab2').hasClass('active')){
// your code..
}
答案 2 :(得分:1)
除了提供的解决方案,您还可以这样做:
if ($('#tab2').is('.active')){
// it was .active
}
不如.length
快,但易于阅读和理解。