2011-07-16 48 views
0

我正在通過Google Chrome擴展程序爲網站應用外部主題。該徽標沒有ID或類來調用它,我正在尋找一種方法來替換它與另一個圖像。我覺得可能有一種方法可以根據圖像的大小獲取圖像,但我不知道該從哪裏做些什麼。使用JQuery替換沒有ID/Class的圖像

+1

如果你能向我們提供的網站,我們可以提供更好的答案。 – Dogbert

回答

3

,如果它在<div id="something">的,例如,你可以用

$("#something img:first").attr('src', 'http://new.src/img.gif'); 
+0

完美的,正是我所期待的。 – Salem

0

抓住它,您應該能夠調用$("img:eq(1)").attr("src", "file.png");

哪裏1是圖像的索引。正如waitinforatrain指出的那樣,這是從零開始的。從API條目:

請注意,由於JavaScript數組使用基於0的索引,因此這些選擇器反映了這一事實。這就是爲什麼$('。myclass:eq(1)')選擇 文檔中myclass類的第二個元素,而不是 第一個。相比之下,:nth-child(n)使用基於1的索引來將 符合CSS規範。

查看:eq selector in the JQuery API瞭解更多信息。

+0

請注意,'eq'從0開始,而'nnth-child'從1開始 – bcoughlan

0

您需要先選擇一個靠近它的元素。

例如如果是元素的id爲example第三個孩子:

$("#example :nth-child(3)").attr('src', '...'); 

或者,如果父元素沒有ID,你將不得不使用直接子選擇這樣做。如果HTML:

<div id="myDiv"> 
    <div>blah</div> 
    <div><img src="..."/></div> 
</div> 

你的選擇是:

$("#myDiv > div:nth-child(2) > img");