2012-08-31 23 views
-2

我只是想知道的部分,如果這是可能使用jQuery:jQuery的:removeClass當類是條件

if (jQuery(".the-title").is('.selected')) { 
    jQuery('.the-copy').css('display', 'block'); 
    jQuery(".the-title").removeClass('.selected'); //is this possible? 
} 

基本上我想知道我是否可以刪除創建內如果條件類聲明。如果沒有,關於如何實現這一目標的任何想法?

謝謝

+0

是不是真的在問是/否的問題在這裏任何價值,因爲沒有人真正從他們身上學到東西;更好的方法是將一些示例代碼放在一起,嘗試一下,看看它是否有效,如果沒有,請詢​​問一些關於如何使其工作的說明(在首先搜索類似問題並檢查[jQuery docs](http://api.jquery.com)) – nbrooks

回答

0

是的。運行此代碼非常好,因爲條件在內部塊運行之前進行計算。

0

是的,這是可能的。你只是評估元素是否具有類,如果它確實可以確定是否要刪除它或執行其他操作。

0

if ($(".the-title").is('.selected')) { 
    $('.the-copy').show(); //does display -> block without animation 
    $(".the-title").removeClass('selected'); 
} 
+0

在你的代碼中,我只看到'.css(display','block')'改變爲'.show()'。但沒有任何與問題有關。 –

0

絕對可以。記住jQuery中的removeClass和addClass不需要點。正確的(和簡單)的代碼將是:

$('.the-title.selected') 
    .removeClass('selected') 
    .siblings('.the-copy').css('display', 'block'); 

這是假設.the拷貝是.the標題的兄弟姐妹。你可以用任何其他jquery dom遍歷函數替換它

+0

「*請記住jQuery中的removeClass和addClass不需要點*」 - 然而,你的代碼中有它......另外,你怎麼知道目標'.the-copy'元素是這個的兄弟?你不能假設 – nbrooks

+0

你是正確的,當我複製代碼時忘記刪除。固定!至於兄弟姐妹,我不知道,但我以身作則。正如我在實際答案中提到的那樣,OP應該用任何他需要的遍歷來代替它。 – Kostia

+0

我沒有看到需要修改問題中已經指定的選擇器;使用簡單的dom遍歷技術來定位這些元素可能並不合理,也不是問題的焦點。在任何情況下,['.is()'](http://api.jquery.com/is/)都會返回一個布爾值,而不是一個jQuery對象 - 因此無論如何您都無法鏈接它。 – nbrooks

0

是的,這是可能的。但是,您的removeClass的語法不正確。它不應該包括前段時期:

if($(".the-title").is('.selected')) 
{ 
    $('.the-copy').css('display', 'block'); 
    $(".the-title").removeClass('selected'); //is this possible? 
} 

請參見本的jsfiddle用於演示>http://jsfiddle.net/QL7ds/1/