2013-06-26 52 views
1

我工作的jQuery的一個項目,我選擇多個CSS改變一個條件:jQuery的CSS變化

if (jQuery('#1').is(":visible")) { 
     jQuery('#2').css({"border-top":"0px", "border-bottom":"7px solid #0767B1"});  
     jQuery('#3').css({"display:table-cell"}); 
}     

它的工作原理,只有#2 CSS的變化,但是當我添加#3它不再工作。

+0

1,2和3是無效的id。他們不得以數字開頭。 – fcalderan

+0

檢查你的''''''''顯示:table-cell「'應該是''display」:「table-cell」 – maqjav

+1

@Fabrizio嘗試html4.01,html5錯誤。 – Christoph

回答

3

:報價的:

jQuery('#3').css({      //this is used for multiple values 
    "display":"table-cell" 
}); 

或者像:

jQuery('#3').css("display","table-cell"); //for single values 


更多的Jquery .css() syntax

2

嘗試這樣的:

if (jQuery('#1').is(":visible")) { 
     jQuery('#2').css({"border-top":"0px", "border-bottom":"7px solid #0767B1"});  
     jQuery('#3').css("display", "table-cell"); 
} 

jQuery的的CSS()方法可以以兩種方式使用。你可以操縱一個單一的屬性,看起來像.css("attribute", "value");,或者你可以操縱多個值,但它有不同的寫法:.css({"attribute" : "value", "attribute2" : "value"});。但是你也可以使用第二種方法(就像你試圖的),只是一個屬性,我沒有注意到你的小錯誤,但是Vucko提到你忘記圍繞:",所以這個解決方案就是你要的(但它通常是爲多個參數,所使用的{ }括號):

jQuery('#3').css({"display":"table-cell"}); 

而我的建議是使用單個屬性的符號:

的jQuery( '#3')的CSS(」顯示「,」表格單元格「);

+0

解釋永遠比扔一塊代碼要好閱讀器和播放「找到我改變的角色」遊戲 – Christoph

+0

@Francodi你能解釋你的答案和「Pim Peters」問題有什麼區別嗎 –

+0

請添加一個解釋,然後我很高興地將我的-1轉換爲+1 – Christoph

0

您可以通過使用下面的代碼對CSS的變化jquery

// For single values : 
if($('#example').css('background-color','yellow')) { 
    $('#1').css("display","none"); 
} 

// For Multiple values : 
if($('#example').css('background-color','yellow')) { // Condition code 
    $('#1').css("display","none"); 
    $('#2').css({ 
     'background-color' : 'yellow', 
     'font-weight' : 'bolder' 
    }); 
}