1
我想要做的是通过它在div中的位置来标识元素。我已经尝试了下面的代码,它的工作原理,但我很好奇,如果有更有效的方法来做到这一点。jQuery - 通过它在兄弟姐妹中的位置(索引)识别对象
HTML:
<div class="container">
<button>One</button>
<button>Two</button>
<button>Three</button>
</div>
<div class="result"></div>
的JavaScript:
$('.container button').on('click', function(e) {
clickedBtn = e.target;
btnNum = 0;
$('.container button').each(function(i) {
if ($(this)[0] === clickedBtn)
btnNum = i+1;
});
$('.result').text('Clicked button #' + btnNum);
});
啊,这么多的jQuery的功能来跟踪!这非常好,这正是我需要的。谢谢! – CaptSaltyJack 2014-11-05 07:35:03
@CaptSaltyJack只是提到你的原始代码:'$(this)[0]'与'this'相同,'e.target'可以简单地'this',这是个好主意(在未来的情况下)在'btnNum = i + 1;'之后添加'return false;'以防止下一次不必要的'.each()'迭代。请记住'.index()'统计所有同胞([fiddle示例](http://jsfiddle.net/qvgkbdo3/)) - 它可能会导致将来不正确的行为。不要忘记标记答案是正确的。 – Regent 2014-11-05 07:42:28