jquery在身体上工作但不在其他元素上工作

时间:2012-03-20 23:44:47

标签: javascript jquery jquery-selectors

此代码有效......

 $(document).ready(function(){
    $('body').css('background','black');
  });

但是此代码没有......

 $(document).ready(function(){
    $('thumb_slider').css('background','black');
  });

^^^我在整个代码中唯一改变的是括号内的id属性。什么都没有改变。

我有一个带有id =“thumb_slider”的html元素标签,并且它在屏幕上有我可以看到的文本,但是当我引用除了正文以外的html标签或id时,我的jquery都没有。我在这里做错了什么?

4 个答案:

答案 0 :(得分:5)

你想要'#thumb_slider'。这是id和元素名称之间的区别,即:

$('#thumb_slider').css('background','black');

您使用jQuery以非常类似的方式选择CSS,因此:

  • bodydivp等:选择具有该名称的元素,即类型
  • #this#that:选择具有该特定ID的元素。
  • .lots .otherstuff:选择该类的元素。

答案 1 :(得分:2)

$('#thumb_slider').css('background','black');

您忘记了#

答案 2 :(得分:2)

您的选择器中缺少.#,具体取决于它是类还是ID。没有名为thumb_slider的元素与您的选择器匹配。

所以应该是:

$('#thumb_slider').css('background','black'); // If it is an ID

或者:

$('.thumb_slider').css('background','black'); // If it is a class

答案 3 :(得分:2)

嗯,你需要.(点)用于类选择器,#用于id选择器。

那就是说,你的代码可能应该是这样的:

 $(document).ready(function(){
    $('#thumb_slider').css('background','black');
  });