2013-08-26 33 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