get href attribute of enclosing link tag

2019-01-25 21:50发布

Having a little trouble on this one. I need a way using Jquery/JS to find the HREF attribute of the enclosing link tag:

<a href="something.html"><img src="img1.jpg" class="active"></a>

I want to target the img by class and find the value of the 1st preceding href attribute.

$("img.active").somethingAwesome().attr("href");

Please show me somethingAwesome() ...help?

4条回答
走好不送
2楼-- · 2019-01-25 22:16

.parent() is all you need!

$("img.active").parent().attr("href");

Here is the documentation :)

As per Kyle's comment, and in an attempt to make something as robust as possible, you could try:

$("img.active").closest('a[href]').attr("href");

that way, even if your html looks like this:

<a href="something.html">
    <a name="anchor">
        <img src="img1.jpg" class="active">
    </a>
</a>

you'll still get what you need :)

查看更多
走好不送
3楼-- · 2019-01-25 22:19

$("img.active").closest("a").attr("href");

查看更多
ゆ 、 Hurt°
4楼-- · 2019-01-25 22:24

$("img.active").parent("a").attr("href") will get the direct parent's href attribute, assuming it's an anchor. If there's any depth of containing blocks between the image and the anchor, use instead $("img.active").closest("a").attr("href").

查看更多
狗以群分
5楼-- · 2019-01-25 22:27
$("img.active").closest('a').attr("href");
查看更多
登录 后发表回答