2013-08-26 52 views
2

如何使用javascript設置div CSS樣式?我有一個獲取類名的值的問題。 如果有人知道,請幫助。如何在javascript中檢查div值

<div class="this_is_i_want_to_set_the_background_color" id="divname"></div> 
<div class="test" id="divname"></div> 

var className = $('.divname').attr('class'); 
var t = 'divalue'; 
if(className == t){ 
    $('.divname').css('background', '#0962ae'); 
} 

回答

5

你可以使用.hasClass方法:

$('.divname').each(function() { 
    if ($(this).hasClass('divalue')) { 
     $(this).css('background', '#0962ae'); 
    } 
}); 

但有這樣做一個簡單的方法:

// an element with class 'divname' also has class 'divalue' 
$('.divname.divalue').css('background', '#0962ae'); 
+0

好事。沒有明白爲什麼人們會誇大你,因爲你的第一個答案顯然是錯誤的。 – Kippie

+0

@Kippie第一個答案顯示'hasClass'是檢查元素是否具有某個類的正確方法。而第二個更好。 – xdazz

+0

是真實的,但在你編輯你的答案之前,看起來像gregorkas'回答了一下,沒有使用''this''或''each'' – Kippie

0

在你的榜樣,你已經選擇只有 '.divname'?它永遠不會工作,因爲它變成這樣:

if('divname'=='divvalue') 

相反,你可以寫你想要達到的目標,我們可以提供幫助。

2

可以縮短爲

var t = 'divalue'; 
$('.divname.' + t).css('background', '#0962ae'); 
0

您可以嘗試jQuery的hasClass功能(DOC:http://api.jquery.com/hasClass/), 例如:編輯完你的答案

if($('.divname').hasClass('divalue')){ 
    $('.divname').css('background', '#0962ae'); 
} 
+0

這個答案是錯誤的,請參閱http://jsfiddle.net/uSw4B/爲什麼。 – Kippie

+0

確實,但我認爲問題的關鍵是如何檢查課程,而不是代碼本身。如果代碼實際上必須是正確的,那麼無論如何都不需要檢查該類,因爲您可以使用$('。divname.divalue')。css('background','#0962ae'); – gregorkas