[英]Javascript - Delegate click event and detect the position of child element(compare with first-child)
<div class="parent">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
当我单击child
元素之一时,我找到了使用javascript的适当方法。 我发现元素的位置( not coordinate
),例如该元素是parent
元素的第三parent
元素。 我的要求与检测子节点编号相同
<script>
$(document).ready(function () {
$('.child').click(function () {
alert("Position is" + ($(this).index() + 1))
});
});
</script>
<div class="parent" >
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
</div>
在JavaScript中,您可以使用它的支持,即较低的版本
<script>
debugger
window.onload = function () {
var childs = document.getElementById('parent').childNodes;
for (var i = 0; i < childs.length; i++) {
childs[i].onclick = function () {
debugger
var pos = indexInParent(this);
alert(pos+1);
}
}
};
function indexInParent(node) {
debugger
var children = node.parentNode.childNodes;
var num = 0;
for (var i = 0; i < children.length; i++) {
if (children[i] == node) return num;
if (children[i].nodeType == 1) num++;
}
return -1;
}
</script>
<div class="parent" id="parent">
<div class="child">
1</div>
<div class="child">
2</div>
<div class="child">
3</div>
<div class="child">
4</div>
<div class="child">
5</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.