查找导致jQuery中所选元素的元素列表

时间:2014-10-07 23:08:10

标签: javascript jquery

我试图构建一个每个元素的数组,例如,在jquery中点击一段文本。

说我有这个HTML:

<div class='foo'>
<div class='bar'>
<span id='42'><h1>Hey there!</h1></span
</div>
</div>

当我点击&#34;嘿那里!&#34;我想要:

<div class='foo'>
<div class='bar'>
<span id='42'><h1>

存储在一个数组中,但是我不想要我点击的文本值,也不想要后面的任何内容。我一直在探索各种选择,但我在遇到任何问题时都遇到了麻烦。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用.parent()和.index()的组合来解决此问题。 显然,如果表现是一个问题,我不会建议这种方法。

var el = $('#42');
var parent = el.parent();
parent.index(el); // 4

然后你可以先检查元素。

答案 1 :(得分:0)

以下注册了一个单击处理程序,每次在页面上单击某些内容时都会记录有关祖先元素的信息:

$('body').on('click', function (event) { 
    var info = $($(event.target).parents().get().reverse()).map(function () { 
        var $this = $(this);
        return { 
            node: this.nodeName, 
            id: this.id, 
            className: $this.attr('class') 
        }; 
    }).get();
    console.log(info);
});