我有这个:
<div ><a href='#' id='my_target'>Link</a></div>
<div></div>
<div><div></div></div>
<div><div id='my_div'></div></div>
如何从#my_target
?
my_div
我尝试过诸如prev().prev().prev().children()
之类的内容,但我无法让它发挥作用,而且我想要更高效的内容。
答案 0 :(得分:3)
或者,您也可以使用相对路径: HTML:
<div><a href='#' id='my_target'>Link</a></div>
<div></div>
<div><div></div></div>
<div><div id='my_div'></div></div>
JS:
$(document).ready(function() {
console.log($("#my_div").parent().parent().children(':first'));
});
的jsfiddle: http://jsfiddle.net/5Bf6g/
答案 1 :(得分:2)
我是这样做的:
var md = $("#my_div");
var anchor = $(md.parent().prevAll().last().find("a"));
console.log(anchor);
JSFiddle:http://jsfiddle.net/t9HZz/
prevAll()
抓住所有父母的兄弟姐妹,然后我们用last()
抓住最后一个,因为它以相反的顺序添加兄弟姐妹,然后我们就可以从那里找到链接。
虽然在您的示例中,该链接确实有一个ID,因此您可以在此特定示例中执行$("#my_target")
。