3

私はこれを持っています:

<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()たが、うまく動かないので、もっと効率的なものが欲しいです。

4

2 に答える 2

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/

于 2012-04-07T14:32:58.570 に答える
2

私はそのようにそれをしました:

​var md = $("#my_div");​​​​​​​​​
var anchor = $(md.parent().prevAll().last().find("a"));
console.log(anchor);

JSFiddle: http: //jsfiddle.net/t9HZz/

prevAll()すべての親の兄弟を取得しlast()ます。次に、兄弟を逆の順序で追加するため、最後の兄弟を取得します。そこからリンクを見つけることができます。

$("#my_target")あなたの例では、リンクにはIDが含まれているので、この特定の例で行うことができます。

于 2012-04-07T14:37:11.893 に答える