获取节点的完整 dom 遍历地址,从主体向下到节点,而不依赖于 getElementBy 或 $('jQuery')



我正在写一个用户脚本,我想得到一个节点的"地址",比如,如果网页是这样的:

<body>
    <content>
        <a href='/something' name='element I'm interested in'>
    </content>
</body>

我如何获得a的地址(其中a是我知道并且可以手动指向它的特定a元素,或与其他常规选择器),因此它会给我这个: body.content.a ,然后我可以在我的用户脚本中使用它来执行操作,就像您在javascript中通过getElementBy()方法获得的节点上一样。

很明显,真正的页面要复杂得多,我不能全部写出来。是否有一种方法可以通过在页面上运行jquery或javascript或一些浏览器工具来获得该地址?

使用javascript,如果你已经在某些变量中有元素,你想找到它的继承,那么它应该可以通过遍历节点的父链:例如像

function getAddress(element) {
    var address = element.tagName;
    if (element.parentNode) {
       address = getAddress(element.parentNode) + '.' + address;
    }
    return address;
}
// using the above function by
var node = document.getElementById("myFavouriteNode");
var address =  getAddress(node);

请注意,你建议的格式的"地址"实际上不会用于查找节点或任何东西,根据你的问题的评论。您需要首先指定您打算如何使用该地址。

最新更新