我想使用JavaScript通过id
属性中的字符数查找特定的HTML元素。
例如,如果我要查找的元素看起来像这样:
<element id="12345678"></element>
并且在id
属性中有8个字符,我将如何找到该元素。
我想象一些基本的伪代码看起来像这样:
[e] = document.GetElementById where id.charLength == 8
并且这将返回一个数组,该数组包含页面上id
属性为8个字符长的所有元素。
[如果有人问,我不能只使用id
来获取元素,因为id
随每次页面刷新而变化。 Xpath也不起作用,因为元素每次刷新都会更改其在DOM中的位置。元素的父级也没有恒定的标识属性。
唯一的常量是此特定元素的id
属性的length,因此我得出的结论是,这是获取元素的唯一方法。
尝试Javascript: How to loop through ALL DOM elements on a page?遍历所有元素,然后在该遍历期间设置您自己的条件(id长度)
您可以先使用document.getElementsByTagName("*")
获取所有dom元素,然后使用find获取所需的dom元素
您可以将Document.querySelectorAll()
与Document.querySelectorAll()
选择器一起使用,以找到页面上所有具有attribute属性(具有任何值)的元素,然后使用id
(和Array.prototype.filter()
)根据以下内容对其进行过滤其Array.prototype.filter()
的长度:
这是纯xpath中的解决方案。