计算父节点
Counting parent nodes
ECMAScript中是否有DOM元素的原生方法,允许计算给定元素的所有祖先(直到由Id,Name等指定的窗口对象或DOM元素)?
的示例用法是检查给定元素的所有祖先,并删除指定的属性。
有一个节点迭代器(https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator)可以用于此目的
您可以使用xpath:
document.evaluate('ancestor::*', x, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null)
我编写了一个简单的函数,执行问题中描述的操作。它获取给定元素的所有祖先元素,并从"开始"answers"结束"元素之间的每个元素中删除给定属性(它不会对"结束"元素执行removeAttribute方法)。
var modifyAncestors = function(startingelementid,endingelementId,searchedattribute) {
var nodecount = document.getElementById(endingelementId).childNodes.length;
console.log(nodecount);
var currentid = startingelementid;
console.log(currentid);
console.log(searchedattribute);
for(var i = 0; i < nodecount; i++) {
if(currentid == endingelementId) {
break;
}
else {
document.getElementById(currentid).removeAttribute(searchedattribute);
currentid = document.getElementById(currentid).parentNode.id;
}
}
}
工作示例:http://www.blacktieseo.com/so/js/test.html(无法与Fiddle JS一起工作)。
相关文章:
- 在自定义截面树中获取父节点
- 如何避免在取消选中子节点时取消选中父节点
- 如果未选中子节点,则未选中父节点
- 仅使用某些子节点访问xml中父节点的子节点
- 如何以编程方式在 jsTree 中选择一个节点并打开所有父节点
- 使用Javascript设置带有子节点的父节点的类's文本等于.
- 如何确定父节点是否有子节点
- Javascript在没有jQuery的情况下获取X父节点
- 如何从wijmo-flex网格的树视图中的节点转到父节点
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- JQuery 选择父节点并更改其类名
- 如何删除javascript中的节点,而不需要父节点为null
- 如果未全部选中子节点,则取消选中父节点
- 如何在JavaScript中删除子节点触发点击事件时的父节点
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 取消绑定父节点和子节点
- jstree jquery插件-获取父节点的所有子节点和子节点
- jquery如何计算具有特定类型父节点的一种类型的所有xml节点
- 计算父节点
- 如何在删除节点时计算父节点的子节点