我有一個ID爲27的圖像。用jquery更改href
我需要更改圍繞它的鏈接的href。我如何使用jQuery來做到這一點?
這是我的鏈接和圖像屬性。注意。我不能將該ID設置爲鏈接。
<a href=""><img src="" id="27"></a>
我有一個ID爲27的圖像。用jquery更改href
我需要更改圍繞它的鏈接的href。我如何使用jQuery來做到這一點?
這是我的鏈接和圖像屬性。注意。我不能將該ID設置爲鏈接。
<a href=""><img src="" id="27"></a>
$("#27").parent().attr("href", "somewhere.html");
這獲取由選擇器相匹配的元件的直接父。或者,您可以使用closest
,它遍歷DOM樹直到找到匹配的元素,但我假設img
將始終是a
元素的直接子元素。
但是,請注意,id
屬性值不能以數字開頭,除非您使用HTML5 doctype
。
更新
已經出現在許多答案分裂輿論對使用parent()
與closest("a")
的這個問題,我把一個快速的性能測試在一起,並在Chrome 12至少,該parent()
方法明顯更快(當我運行它時速度超過30%)。
使用parent
選擇器和attr
方法。
$('#27').parent().attr('href', someNewValue);
已經考慮
$("#27").parent().attr("href", "something.html");
因爲這會工作的任何一個。
詹姆斯答案很好。
在設計更改的情況下,我更喜歡使用closest
而不是parent
。
$("#27").closest("a").attr("href","infinityandbeyond.com")
var $mylink="test_link.html";
$('#27').parent().attr('href',$mylink);
的微不足道的性能差異是不是一個好足夠的理由寫在大多數情況下脆弱的代碼。 – RSG
@RSG - 同意,但在這種情況下,'img'將始終是'a'元素的直接子元素的可能性非常高。 –
首先,吉米,道具的基準該死的東西,而不是假設「父」更快。但根據你的測試,'父'需要24μs,'最接近'需要35μs,相差只有**11μs**!這需要95,000 **次迭代,延遲一秒鐘(在舊式的Mac上運行過時的Firefox版本 - 現代化的安裝可能要快得多)。 @RSG是對的。但是,再次感謝您的加倍努力。 – Malvolio