Reputation: 805
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?
Upvotes: 3
Views: 9724
Reputation: 4992
$("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")
.
Upvotes: 6
Reputation: 16310
.parent()
is all you need!
$("img.active").parent().attr("href");
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 :)
Upvotes: 3