如何选择第三个DOM元素的子元素?

时间:2012-04-07 14:25:02

标签: javascript jquery html

我有这个:

<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()之类的内容,但我无法让它发挥作用,而且我想要更高效的内容。

2 个答案:

答案 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")