我正在使用 javascript DOM 遍历 HTML 文档。我想制作一个所有节点/元素及其值的列表(实际上是一个数组)。我找到了一个用于遍历 DOM 的脚本,但是如何将每个节点值存储在一个数组中。我似乎找不到节点的唯一标识符。有人有任何指示吗?我在想xpath
或者其他的东西。
考虑xpath
是个好主意吗?节点作为唯一标识符。如果是这样,我如何获得 xpath
遍历 DOM 时的元素?
最佳答案
作为在 C 和 C++ 世界中出生和长大的程序员,我对这类问题的第一个答案是“将他们的地址存储在数组中!”。但是经过几年对网络事物的处理方式,我可以给出正确的答案:
在javascript中,您可以直接将对对象的引用存储在数组中。
不,xpath 不是一个好主意;使用引用更简单更好。
因此,对您的问题的直接回答是:除了自身之外,DOM 元素/节点没有唯一标识符。
在 javascript 中,所有对象都是通过引用传递的。所以这里有一个如何做到这一点的示例代码:
var theArray = [];
var theNodeToTraverse = document.getElementById('domelementtosearch');
traverseAndStore(theNodeToTraverse);
function traverseAndStore( node )
{
if( node==null) return;
theArray[ theArray.length ] = node;
for( i=0; i<node.childNodes.length; i++ )
traverseAndStore( node.childNodes[i] );
}
关于javascript - DOM 元素/节点的唯一标识符是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/881768/