2013-01-25 24 views
1

我有一些傳送帶插件。一個一個點擊後有一個元素具有活動類。旋轉木馬上的所有元素也有類別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> 

很多THX。

回答

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()不贊成使用jQuery它讓你知道,指定元素是否有指定類的on()

+0

hasClass不工作,我不知道爲什麼:( – Lukas

+0

如果我這樣做,我有沒有從控制檯迴應... – Lukas

+0

再一次,hasClass沒有響應控制檯:(即使用'.on' – Lukas

0

請使用hasClass()函數。

例如,如果你想知道下面的div元素有一個類「活動」,那麼請如下

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

$(「目標-ELE」)使用它。hasClass(「激活」) ; //這將返回true,因爲它有class「active」

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

$('target-ele')。hasClass('active'); //這將返回false,因爲它沒有階級「活動」

所以最後 如果($(「目標-ELE」)。hasClass(「激活」)) 做的功能時,有主動類 其他 做的功能時,有沒有主動類

希望這會適應你的需求:)

+0

施工 '

' ,我告訴那之前,hasClass不工作:( – Lukas

+0

哎呀!你所提到的下一個答案:(。任何你怎麼可以檢出這個!在這種情況下,你使用它如下$ .each($('#target-ele')。attr('class'),function(index,value){//希望索引或值有類名,通過比較檢查並執行你的功能:)}); – user1954395

+0

可以設置一些例子嗎? – Lukas