使用jquery更改href

使用jquery更改href,jquery,Jquery,我有一张ID为27的图像 我需要更改它周围链接的href。如何使用jquery实现这一点 这是我的链接和图像属性。笔记我无法设置链接的id <a href=""><img src="" id="27"></a> 这将获取选择器匹配的元素的直接父元素。或者,您可以使用最近的,它遍历DOM树直到找到匹配的元素,但是我假设img始终是元素的直接子元素 但是,请注意,id属性值不能以数字开头,除非您使用的是HTML5doctype 更新 在这个问题的许多答案中,

我有一张ID为27的图像

我需要更改它周围链接的href。如何使用jquery实现这一点

这是我的链接和图像属性。笔记我无法设置链接的id

<a href=""><img src="" id="27"></a>

这将获取选择器匹配的元素的直接父元素。或者,您可以使用
最近的
,它遍历DOM树直到找到匹配的元素,但是我假设
img
始终是
元素的直接子元素

但是,请注意,
id
属性值不能以数字开头,除非您使用的是HTML5
doctype

更新

在这个问题的许多答案中,关于使用
parent()
closest(“a”)
,我看到了不同的意见,于是我一起做了一个快速性能测试,至少在Chrome 12中,
parent()
方法的速度要快得多(运行时快了30%以上)


这里有一个。

使用
父项
选择器和
属性
方法

$('#27').parent().attr('href', someNewValue);

也许是这样的:

$('#27')。最近('a').attr('href','newLink.html')

是否考虑了任何一个

$("#27").parent().attr("href", "something.html");
因为那会有用的。

詹姆斯的答案很好

我更喜欢使用
最近的
而不是
父项
,以防设计发生变化

$("#27").closest("a").attr("href","infinityandbeyond.com")

+1使用更一般的
最近的
,不像你们所有的书呆子。哦,现在@RSG正在咬你。@Malvolio-更一般,是的,但也更慢:)请参阅更新我的答案。这并不是说它在现实世界中会有什么不同!在大多数情况下,可忽略的性能差异并不是编写脆弱代码的充分理由。@RSG-同意,但在这种情况下,
img
始终是
a
元素的直接子元素的可能性非常大。首先,Jimmy,基准测试的道具,而不是仅仅假设
parent
更快。但是,根据您的测试,
parent
需要24μs,
最接近的
需要35μs,相差只有11μs!一秒钟的延迟需要95000次迭代(在我那老掉牙的Mac电脑上运行一个过时的Firefox版本——现代安装可能会快得多)@RSG是对的。不过,再次感谢你多走了一步。
$("#27").closest("a").attr("href","infinityandbeyond.com")
var $mylink="test_link.html";
$('#27').parent().attr('href',$mylink);