Either you have access to the ID when the JS is created, or you don't. If you don't then you'll have to find another way to target the item eg: $('.wanted')
If you do, then put it in: $('#<?php echo $status_id[$num]; ?>')
When you access $(".wanted"+id)
, you are actually trying to access an element with the class name = wanted+id. This is because of the '.' before 'wanted'. Also, you seem to be accessing the <a>
tag directly and setting it's src
attribute. You need to access the <img>
tag.
What you could try is this:
var x=document.getElementById(id);
$(x).find("img")[0].setAttribute("src","/images/wanted_.png");
ID of the HTML elements should be unique across the page.
You can try
//I assume id variable is already assigned the id of the element e.g var id = "<?php echo $status_id[$num] ?>";
$("#"+ id).attr("src", '/images/wanted_.png');
If you really want to select an element that has the given id and also the class wanted then try this:
$("#"+ id + ".wanted ").attr("src", '/images/wanted_.png');
Give it another class like imgToChange
, then use $(".imgToChange")