jQuery class selector doesn't work and id selector works only with “body”

前端 未结 5 642
生来不讨喜
生来不讨喜 2021-01-21 17:32

I\'m trying to apply CSS values with jquery but class selector or id selector does not not work for some reason.

Here is my fiddle:

As you can see nothing happen

相关标签:
5条回答
  • 2021-01-21 17:57

    To reference an id you need to use hash before the id itself, just like you do in css. The correct code would be:

    $("#kitten").css("background-position", x + "px 0");
    
    0 讨论(0)
  • 2021-01-21 18:03

    Your selector is missing the # which is used for selecting tags by id:

    $("#kitten")
    
    0 讨论(0)
  • 2021-01-21 18:06

    First you need do:

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

    Becouse you are not getting the Id selector.

    And define a width and height to your div, to show your image like:

    #kitten {
        background-image: url("http://sereedmedia.com/srmwp/wp-content/uploads/kitten.jpg");
        background-repeat: repeat-x;
        width: 390px; <----- LIKE this
        height: 200px; <----- LIKE this
    }
    

    DEMO

    0 讨论(0)
  • 2021-01-21 18:09
     $("kitten").css("background-position", x + "px 0");
    

    this line is wrong..

    this one will do the trick

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

    you need to put the right string literals for ID selectors check it right here.

    0 讨论(0)
  • 2021-01-21 18:14

    Id selectors are prefixed with #:

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

    A class selector would be prefixed with a ., for instance if kitten were a class:

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

    When you use the body selector you are using a tag selector which has no prefix.

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

    For most basic selectors, just follow CSS selector syntax.

    0 讨论(0)
提交回复
热议问题