Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DOM-使用标记名获取最近的节点_Javascript - Fatal编程技术网

Javascript DOM-使用标记名获取最近的节点

Javascript DOM-使用标记名获取最近的节点,javascript,Javascript,给定HTML文档中的一个节点N1,我需要一种简洁的方法来查找与N1最近的节点,比如N2,并带有一些标记名(例如获取最近的链接)。我将把js代码注入远程浏览器(使用Selenium),因此需要尽可能简洁。否则,我将编写一个递归函数,它接受N1并访问所有同级,然后在DOM树上下移动,直到找到匹配项为止 有没有不依赖于第三方库的快捷方式?我认为没有比递归搜索树更简洁的方法了,没有。我觉得它非常简洁。我也不认为有任何捷径。试试这个: hmmm。我想知道是否有一种方法可以创建一个扁平的树结构,我可以将其编

给定HTML文档中的一个节点N1,我需要一种简洁的方法来查找与N1最近的节点,比如N2,并带有一些标记名(例如获取最近的链接)。我将把js代码注入远程浏览器(使用Selenium),因此需要尽可能简洁。否则,我将编写一个递归函数,它接受N1并访问所有同级,然后在DOM树上下移动,直到找到匹配项为止


有没有不依赖于第三方库的快捷方式?

我认为没有比递归搜索树更简洁的方法了,没有。我觉得它非常简洁。我也不认为有任何捷径。

试试这个:


hmmm。我想知道是否有一种方法可以创建一个扁平的树结构,我可以将其编入索引…@Joel:您当然可以这样做,将每个元素写入一个数组,并(比如)使用XPath标记位置。但要做到这一点,您必须……通过这三个循环来构建平面列表。:-)我认为很明显,Joel知道如何使用
nextSibling
previousSibling
。Selenium看起来很有趣