'JQuery Selector for dynamic id
I am trying to change the image source in the Jquery
<a href="" class="wanted" id="'.$status_id[$num].'"><img src="/images/wanted.png">
through a JQuery selector:
$(".wanted "+ id).attr("src", '/images/wanted_.png');
Where id is defined in the javascript as the php variable $status_id[$num]. I first tried using $(this) to no avail. Any insight would be helpful.
Solution 1:[1]
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");
Solution 2:[2]
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');
Solution 3:[3]
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]; ?>')
Solution 4:[4]
Give it another class like imgToChange, then use $(".imgToChange")
Solution 5:[5]
The easiest way to find input value for dynamically loaded elements.
$(document).find("#your_input_id").val();
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | karan k |
| Solution 2 | Chandu |
| Solution 3 | Sinetheta |
| Solution 4 | Charlie |
| Solution 5 |
