2012-07-20 66 views
3

我試圖通過jQuery選擇改變圖像源在Jquery的動態ID

<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)無濟於事。任何見解都會有所幫助。

+0

你有多個圖像的'wanted'包裝裏面?或者你有多個'想'包裝與不同'id's?你是否試圖將它們全部更改爲單個圖像?或者只是其中一個到一個單一的圖像?或者他們每個人都有不同的形象? – 2012-07-20 03:51:03

回答

5

當您訪問$(".wanted"+id),你是實際上試圖訪問類名= wanted + id的元素。這是因爲'。' '想要'之前。此外,您似乎直接訪問<a>標籤並將其設置爲src屬性。您需要訪問<img>標籤。 什麼你可以嘗試是這樣的:

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

謝謝。優雅而簡單。 – michael 2012-07-20 11:55:21

0

您可以在創建JS時訪問ID,或者您不能。如果你沒有,那麼你就必須找到另一種方式爲目標的項目如:$('.wanted')

如果你這樣做,然後把它在:HTML元素的$('#<?php echo $status_id[$num]; ?>')

2

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

給它另一個類像imgToChange,然後用$(".imgToChange")