点击一个元素获取所在集合中的次序

<div>
    <p class="special"></p>
    <p class="special"></p>
</div>
<div>
    <div>
        <p class="special"></p>
    </div>
    <div>
        <p class="special"></p>
    </div>
</div>
<div>
    <p class="special"></p>
</div>

如上面所示:$(".special").length=5, 我想做的是点击某一个p标签获取 此p标签在 $(".special")中的次序。 点击第七行的p标签,得到它的次序为3,点击第二行的p标签,得到它的次序为1。
求解答~
阅读 3.2k
3 个回答
$('.special').click(function(){
  alert($(this).index() + 1);
})

直截了断,干脆利落

这里给你演示了两种方法 https://jsfiddle.net/qh2dtub4/

代码:

$(".special").each((i ,p) => {
    $(p).attr("data-index", i + 1).on("click", e => {
        console.log($(e.target).data("index"), i + 1);
    });
});

用$(this)试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题