1

我有一些轮播插件。一键点击后,有一个元素具有活动类。carousel 上的所有元素也都有类availableno_available. 现在我需要检查这个active元素,如果它有类available做某事,如果是no_available做其他事情。这个活动的类和元素在轮播点击后发生变化。所以我这样做了,我只有一个条件响应,第一个。你能帮我吗?

carousel_images = $("#ajax-carousel"),
carousel_images_active_element = carousel_images.find("li.active");

carousel_controls_button.live('click', function(e){
    if (carousel_images_active_element.is('.available')){
        console.log('run_01');
        bottom_panel.fadeOut('fast');
    }
    else if (carousel_images_active_element.is('.no_available')){
        console.log('run_02');
    }
});

html

<ul>
   <li id="01" class="active no_available"></li>
   <li id="02" class="available"></li>
   <li id="03" class="available"></li>
   <li id="04" class="no_available"></li>
</ul>

非常感谢。

4

2 回答 2

1

现在我需要检查这个活动元素,如果它有可用的类做一些事情,如果是 no_available 做一些别的事情。

使用hasClass()

尝试这个

carousel_controls_button.on('click', function(e){
   if (carousel_images_active_element.hasClass('available')){
     console.log('run_01');
     bottom_panel.fadeOut('fast');
   }
   else if (carousel_images_active_element.hasClass('no_available')){
    console.log('run_02');
 }
});

live()不推荐使用on()

于 2013-01-25T10:26:43.487 回答
0

请使用 jquery 的 hasClass() 函数,它可以让您知道指定元素是否具有指定的类。

例如,如果您想知道下面的 div 元素有一个“活动”类,那么请按如下方式使用它

<div id="target-ele" class="class1 class2 active"></div>

$('target-ele').hasClass('active'); // 这将返回 true,因为它具有“活动”类

<div id="target-ele" class="class1 class2 in-active"></div>

$('target-ele').hasClass('active'); // 这将返回 false,因为它没有“活动”类

所以最后 if($('target-ele').hasClass('active')) 在有活动类时执行功能 else 在没有活动类时执行功能

希望这能满足您的要求:)

于 2013-01-25T10:34:40.670 回答