jQuery的设置童CSS属性问题

问题描述:

我有一个名为“鲍勃”的div的子元素的类是“.divTitle”jQuery的设置童CSS属性问题

<div id="bob"> 
    <div class="divTitle"> 
     <a href="#"> 
     <h1>Title</h1> 
     </a> 
    </div> 
</div> 

我想要的‘divTitle’,背景色设置为红色,但因为我的生活无法得到这个工作。现在,我想两件事情......

$('#bob').children('.divTitle')[0].css('background-color', '#0f0'); // assuming children is returning an array... 

$('#bob').children('.divTitle').css('background-color', '#0f0'); 

没有任何成功...谁能告诉我什么,我在这里失踪?我必须比“儿童”更深入吗?

编辑

不幸的是,我猜这个问题的重要部分被省略了。我动态地生成了这个div,并且引用这个类只是空着。因此,我没有按照类的类型引用动态生成的内部div,而是给它一个唯一的id,现在可以按照我的意愿操作它...我仍然在给Keltex一个勾号指出一个更好的直接参考方法。

+1

除了将其设置为绿色? – mVChr 2010-05-31 15:38:45

+0

你应该尝试#f00而不是#0f0 ... – greg0ire 2010-05-31 15:40:44

+1

这只是文书...我会很高兴,如果它变成任何颜色... – 2010-05-31 15:41:58

为什么不干脆:

$('#bob .divTitle').css('background-color', '#0f0'); 
+0

他遇到的问题是让孩子()返回实际的DOM元素,而使用选择器可以返回jQuery对象(实际上有一个css方法)。所以你得到我的upvote :) – Ryley 2010-05-31 15:45:37

第二个应该正常工作。你的问题在别的地方。

第一件事:当文档准备好加载/填充感兴趣的元素时,您是否执行此代码?

<head> 
    ... 
    <script> 
     $(document).ready(function() { 
      $('#bob .divTitle').css('background-color', '#0f0'); 
     }); 
    </script> 
</head> 
... 

如果没有,那么这样做,或之后感兴趣的DOM元素移动脚本

... 
<div id="bob"> 
    <div class="divTitle"> 
     <a href="#"> 
     <h1>Title</h1> 
     </a> 
    </div> 
</div> 
<script> 
    $('#bob .divTitle').css('background-color', '#0f0'); 
</script> 
... 
+0

div'bob'是在我的文档加载到按键后动态生成的。我能够改变'bob'的背景颜色没有问题,我只是不知道为什么我不能达到鲍勃内部和操纵子元素... – 2010-05-31 15:45:45

+0

我的意思是说,第二种方式应该工作精细。 – BalusC 2010-05-31 16:10:27

$('#bob').children('.divTitle')[0] < - 这是返回DOM对象而不是jQuery对象这就是为什么这一次不工作。

第二个应该为你工作,虽然我已经完成了你以上的作为example