jQuery类选择器不起作用,id选择器只适用于“body”

我正在尝试使用jquery应用CSS值,但类选择器或id选择器由于某种原因不起作用。

这是我的小提琴:

如果我使用id =“kitten”,你可以看到没有任何反应。

HTML

脚本

  $(function(){ var x = 0; setInterval(function(){ x-=1; $("kitten").css("background-position", x + "px 0"); }, 10); }); 

CSS

  html, body { height: 100%; width: 100%;} #kitten { background-image: url("http://sereedmedia.com/srmwp/wp-content/upload/kitten.jpg"); background-repeat: repeat-x; } 

这是行不通的。 但是,如果我使用“body”而不是id – 所有都开始工作。

摆弄“身体”

为什么我不能使用jQuery id选择器或类选择器?

首先你需要做的:

 $("#kitten").css("background-position", x + "px 0"); 

因为你没有得到Id选择器。

并定义div的宽度和高度,以显示您的图像:

 #kitten { background-image: url("http://sofzh.miximages.com/javascript/kitten.jpg"); background-repeat: repeat-x; width: 390px; <----- LIKE this height: 200px; <----- LIKE this } 

DEMO

要引用id,您需要在id本身之前使用hash,就像在css中一样。 正确的代码是:

 $("#kitten").css("background-position", x + "px 0"); 
  $("kitten").css("background-position", x + "px 0"); 

这条线错了..

这个人会做的伎俩

  $("#kitten").css("background-position", x + "px 0"); 

你需要为ID选择器添加正确的字符串文字,请在此处进行检查。

Id选择器以#为前缀:

 $("#kitten").css("background-position", x + "px 0"); 

类选择器将以a为前缀. 例如,如果kitten是一个class级:

 $(".kitten").css("background-position", x + "px 0"); 

当您使用body选择器时,您使用的标签选择器没有前缀。

 $("input"); //selects all input tags 

对于大多数基本选择器,只需遵循CSS选择器语法。

您的选择器缺少用于按ID选择标签的#:

 $("#kitten")