javascript - 按大小获取元素

标签 javascript dom xpath

我必须获取尺寸为 300x250 的 HTML 页面中的所有元素(不过只是父元素。因此,如果 DIV 为 300x250 并且在相同尺寸内有图像,我将只获取 div)。

我不能使用 jQuery 或其他类似的框架,我的想法是:

  1. 循环页面中的所有元素检查它们的尺寸(糟糕糟糕。不喜欢它)
  2. 使用 XPath(有没有办法通过 XPath 按宽度和高度进行过滤?)

你们知道更好的方法吗?

最佳答案

你还没有说你对哪个widthheight感兴趣。当然如果有img元素具有width文档中的 height 属性,然后 XPath 可以选择它们(例如 //img[@width = '300' 和 @height = '250']) 。但是像 div 元素这样的容器元素没有这样的属性,通常您可以访问它们的 offsetWidth/offsetHeight DOM 属性。据我所知,此类属性无法在 XPath 表达式中访问,因此 XPath 只能帮助选择某些元素,然后您需要访问 offsetWidth/offsetHeight 属性由 XPath 计算返回的任何 DOM 元素节点。所以这个答案主要是关于你的 XPath 请求。

根据目标浏览器,您可能可以使用TreeWalker https://developer.mozilla.org/en-US/docs/Web/API/treeWalker.filter或 NodeIterator https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator .

关于javascript - 按大小获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16957641/

相关文章:

java - 空目标节点中结果的 XPath 评估

javascript - jQuery makeDraggable 有更多技巧吗?

javascript - 从父组件访问子组件的 FORMIK 表单字段值 - React JS

jQuery 在单选字段上使用多个选择器

dom - jquery onclick 事件在 td 上不起作用

XPATH 使用多个 AND 语句与 CONTAINS 或 STARTS WITH

javascript - 将 JavaScript 的变量放入隐藏的输入类型

javascript - SVG 在动画 svgjs 时旋转元素

javascript - 如何让子窗口全屏显示?

java - 是否有任何 Java HTML 解析器生成的节点保留原始文本的索引?