8

I am trying to use jQuery to change the background image in a table cell, the table cell has its own class of ".active". I am using jQuery to change other elements in the same place and they all work fine so i think i must have something wrong in the syntax. the function i am using executes after a button is clicked. my code:

function vehicle(arg){
  $(".active").css("color", "blue");  
  $(".active").css("background-image", "url(../img/car.png)");
};

css:

.active{
  background-size: 10px 10px;
  background-repeat: no-repeat;
  border-right: 1px solid none;

the first line executes fine, i have tried the following code plus changed the picture size in every way i can think of :

   $(".active").css("background-image", "../img/car.png");
   $(".active").css("background-image", "url('../img/car.png')");

can anyone point out what i did wrong?

2

3 Answers 3

9

You need to put the .css() relative to the page. So try:

$(".active").css("background-image", "url('img/car.png')");

Assuming the img/ is in the same directory as the page, this should work. Else use the relative paths to the root.

Sign up to request clarification or add additional context in comments.

2 Comments

its odd, if i use the ',' in between "background-image"and "url('img/car.png')" the code at the begining of my script wont run, but if i use a : my other code works but the background wont work
@LucyViolet Using : is for objects. I have used a function here.
6

You can also try the below syntax to set the background image dynamically

$(".active").attr("style", "background-image: url('your url')");

Comments

-1

You can set a CSS class to change the image.

CSS:

.img1{
    background-image:img/car1.png;
}

.img2{
    background-image:img/car2.png;
}

jQUERY:

$(".active").removeClass('img1').addClass('img2');

1 Comment

That's not the question. first u can't add a background-image like that, and create a class per image is not a good way. he just want to have the good url.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.