我有这个:
<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()
,但我无法让它工作,我想要更高效的东西。
我有这个:
<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()
,但我无法让它工作,我想要更高效的东西。
或者,您也可以只使用相对路径: 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/
我是这样做的:
var md = $("#my_div");
var anchor = $(md.parent().prevAll().last().find("a"));
console.log(anchor);
JSFiddle:http: //jsfiddle.net/t9HZz/
prevAll()
抓取所有父母的兄弟姐妹,然后我们抓取最后一个 withlast()
因为它以相反的顺序添加兄弟姐妹,然后我们可以从那里找到链接。
尽管在您的示例中,该链接确实有一个 id,因此您可以$("#my_target")
在此特定示例中执行此操作。