我试图构建一个每个元素的数组,例如,在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>
存储在一个数组中,但是我不想要我点击的文本值,也不想要后面的任何内容。我一直在探索各种选择,但我在遇到任何问题时都遇到了麻烦。
答案 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);
});