用于动态id的JQuery Selector

时间:2012-07-20 03:43:54

标签: jquery

我正在尝试更改Jquery中的图像源

<a href="" class="wanted" id="'.$status_id[$num].'"><img src="/images/wanted.png">

通过JQuery选择器:

$(".wanted "+ id).attr("src", '/images/wanted_.png');

其中id在javascript中定义为php变量$status_id[$num]。我首先尝试使用$(this)无济于事。任何见解都会有所帮助。

4 个答案:

答案 0 :(得分:6)

当您访问$(".wanted"+id)时,您实际上是在尝试访问类名为wanted + id的元素。这是因为'。'在'通缉'之前。此外,您似乎直接访问<a>标记并设置其src属性。您需要访问<img>标记。 您可以尝试的是:

var x=document.getElementById(id);
$(x).find("img")[0].setAttribute("src","/images/wanted_.png");

答案 1 :(得分:4)

HTML元素的ID在整个页面中应该是唯一的。

你可以尝试

//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');

如果你真的想要选择一个具有给定id的元素以及想要的类,那么试试这个:

$("#"+ id + ".wanted ").attr("src", '/images/wanted_.png');

答案 2 :(得分:0)

您可以在创建JS时访问ID,也可以不访问。如果你不这样做,你将不得不找到另一种方法来定位项目,例如:$('.wanted')

如果您这样做,请将其放入:$('#<?php echo $status_id[$num]; ?>')

答案 3 :(得分:0)

给它另一个类imgToChange,然后使用$(".imgToChange")