javascript - 根据标签类型获取页面中元素的索引

标签 javascript jquery html

我想在单击时获取页面中每个元素的索引。但重点是索引不应该是item的通用索引,而应该是根据tag的类型来的。

例如,请考虑以下示例。我已经提供了我得到的当前值以及预期的输出。

<div>First Div</div> <!-- This shows 0 (as required) -->
<div>Second Div</div> <!-- This shows 1 (as required) -->
<div>Third Div</div> <!-- This shows 2 (as required) -->
<div>
    <p>First Para</p> <!-- This shows 0 (as required) -->
    <p>Second Para</p> <!-- This shows 1 (as required) -->
    <span>First Span</span> <!-- This shows 2 but I need it as 0 -->
    <br/>
    <span>Second Span</span> <!-- This shows 4 but I need it as 1 -->
</div>
<p>Third Para</p> <!-- This shows 4 but I need it as 2-->
<span>Third Span</span> <!-- This shows 5 but I need it as 2 -->

下面是我迄今为止尝试过的代码。应该如何修改它以满足我的要求?

$(document).on("click", "*", function (e) {
   e.stopPropagation();
   index = $(this).index();
   console.log(index); 
});

这是一个JSFiddle使用当前代码。

最佳答案

您当前的代码正在获取每个标签相对于其父标签的索引。需要修改如下,根据标签类型获取当前点击元素的索引。

index = $(this.tagName).index(this);

FIDDLE

关于javascript - 根据标签类型获取页面中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206170/

相关文章:

javascript - AR.js:如何在单击按钮时启用/禁用相机并显示/隐藏 AR 内容

html - 提交失败后更改输入字段的颜色

javascript - HTML5 渲染

jquery - 中心图片库占位符

c# - 更改在 outlook html 电子邮件中呈现的电子邮件地址超链接的颜色

javascript - 交互式运行 Javascript 的好方法是什么?

javascript - 尝试在 Chrome 扩展程序中使用 SignalR 连接到集线器时出错

javascript - 模态窗口后恢复基本 url

javascript - 使用 javascript 转换 JSON 结构

javascript - 我正在尝试获取 parents parents child div 的文本,我必须使用它来将其从 localStorage 中删除