2010-08-16 81 views
2

我有一组选项卡,其中隐藏的内容会在点击该选项卡时显示。 jQuery的是这样的:jQuery if语句查找元素ID

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.

这似乎很直接,但我不明白。想法?

回答

4

可以使用.length看到选择多少个元素发现这样做:

if($('#tab2.active').length === 1) { 
    //do something, it has the class 
} 
+0

+1总的来说,我会亲自使用这个解决方案,但我会抛弃'=== 1'。 – user113716 2010-08-16 18:19:27

3

如果#TAB2有类。主动然后做 X.

你这意味着:

if ($('#tab2').hasClass('active')){ 
    // your code.. 
} 
1

除了解决方案提供离子,你可以这样做:

if ($('#tab2').is('.active')){ 
    // it was .active 
} 

不一样快.length,但很容易阅读和理解。

+0

虽然是比较疯狂的昂贵:) – 2010-08-16 18:14:40

+0

@Nick - 看我的更新。 – user113716 2010-08-16 18:15:23