JavaScript 当前元素是其父元素的第几个子元素
程序员文章站
2023-12-27 13:48:27
...
现有如下代码,想要知道标签 h2 是div的第几个子元素。要求用JavaScript实现。
<div>
<p>欧阳修欧阳修欧阳修欧阳修</p>
<h3>司马光司马光司马光司马光司马光司马光</h3>
<p>白起白起白起白起白起白起白起白起白起白起白起</p>
<h2 id="first-h2">吴起吴起吴起吴起吴起吴起吴起吴起吴起吴起</h2>
<h4>王翦王翦王翦王翦王翦王翦王翦王翦王翦王翦王翦王翦王翦</h4>
</div>
方法一:使用previousElementSibling属性
previousElementSibling属性,返回当前元素前面的兄弟节点。
完整代码如下:
var order=1;
var currentElement=document.getElementById("current-element");
while(currentElement.previousElementSiblings){
order++;
currentElement=currentElement.previousElementSiblings
}
思路:
- order,用来表示是该元素是其父元素的第几个子节点。
- 使用previousElementSiblings 获取当前元素前面的兄弟节点,order的值加一,currentElement更新为前面的兄弟节点。
- 使用while语句,直至获取不到当前元素前面的兄弟节点。
方法二:获取父元素的所有子元素,逐一和当前元素对比,若相同则返回对应的下标。 可以将id、class等其他属性作为对比条件。
var currentElement=document.getElementById("first-h2");
var xiongdi=currentElement.parentElement.children;
var order=0;
for(var i=0;i<xiongdi.length;i++){
if(xiongdi[i].id==="first-h2"){
order=i+1;
break;
}
}
推荐阅读
-
JavaScript 当前元素是其父元素的第几个子元素
-
一个JavaScript获取元素当前高度的实例_javascript技巧
-
一个JavaScript获取元素当前高度的实例_javascript技巧
-
高效的获取当前元素是父元素的第几个子元素_javascript技巧
-
javascript - angularJS中如果点击获得ng-repeat数组对象中的属性元素中的当前元素对他操作
-
css中em是相对于父元素还是当前元素的大小?(代码示例)
-
javascript - angularJS中如果点击获得ng-repeat数组对象中的属性元素中的当前元素对他操作
-
返回对象在当前级别中是第几个元素的实现代码_javascript技巧
-
高效的获取当前元素是父元素的第几个子元素_javascript技巧
-
判断当前在input 中输入的元素是第几位