- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经为Firefox安装了greasemonkey插件(我的FF版本是21.0)。我写了一个名为 mahesh.user.js 的用户脚本
var links = document.evaluate("//span", document.body, null, 6, null);
现在当我打印以下内容时
console.log(links);
Firebug 调试器写出 XPathResult 对象。但是我无法使用任何 XPathResult 属性,例如 snapshotLength 或方法,例如 iterateNext() 或快照项目()。如果我这样做,控制台上不会打印任何内容。
即
var thisLink = links.iterateNext();
console.log("I am here -- 111: " + thisLink);
i = 0;
while(thisLink) {
console.log("thisLink #" + (++i));
}
除了第一个“我在这里”之外,控制台上没有打印任何内容。
需要帮助请。请指教。
问候马赫什。
最佳答案
如果您使用结果类型 6
,那么您将无法迭代,但您应该能够按如下方式访问项目:
for (var i = 0, l = links.snapshotLength; i < l; i++)
{
var span = links.snapshotItem(i);
}
如果该循环没有产生任何结果,那么可能是因为 XPath 没有找到任何节点。原因可能是输入文档中的命名空间。
另一方面,如果您只想查找所有 span
元素,那么执行 document.getElementsByTagName('span')
就足够了,不需要 XPath。
至于您的 document.evaluate("//span", document.body, null, 6, null);
调用,如果您使第二项成为不同于文档本身的节点,你的路径应该是相对的,如 document.evaluate(".//span", document.body, null, 6, null);
,否则整个文档都会被搜索。
关于javascript - XPathResult 方法和属性不起作用 greasemonkey 用户脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867400/
我在 mozilla 开发者站点上发现关于 XPathResult 的文档很少。列出的所有功能都重定向到主页,因此它们可能尚未记录。 var myFind; myFind = document.eva
我有一个 xml,我想阅读它的 节点。但是当我在 XPath 下面执行时,它给了我一个错误。 我试图解析的 xml: let x = ` When
以下内容全部用 JavaScript 编写。 我有以下 XML Hotel 1 Hotel 2 我的 xpath(“//Hotel”)的“结果”返回一个长度为 2 的数组。 接下来我该怎么
我已经为Firefox安装了greasemonkey插件(我的FF版本是21.0)。我写了一个名为 mahesh.user.js 的用户脚本 var links = document.evaluate
我正在尝试为 xml 创建跨浏览器界面,特别是使用 XPath 表达式来选择节点。 IE 很简单: this.documentElement.selectNodes(xPathStr); 返回一个提供
我正在使用以下代码... var result = document.evaluate(expr,context,null,9,null); 打印结果时出现以下错误... Error: TYPE_E
我正在使用一些 javascripts。我用过 var xpathResults = document.evaluate(xpath, domContext, null, XPathResult.AN
当我使用 querySelectorAll 时,我可以在示例文档中找到 138 个 td 节点。 Array.from(document.querySelectorAll('td')).length
我正在执行大量 document.evaluate,然后使用 result.snapshotLength 上的 for 循环遍历每个结果。 因为我在每个循环(thisDiv.parentNode.re
我需要使用 javascript 获取 XPathResult 并迭代它,克隆结果的每个节点。最初,我尝试了以下操作,结果为 ORDERED_NODE_ITERATOR_TYPE: childNode
我试图获取所有对象,但它不起作用。 var tmp = document.evaluate("//tr", document, null, XPathResult.ANY_TYPE, null); t
我有以下 JavaScript 类包装 document.evaluate()使用 XPath 选择 DOM 元素: 'use strict' Object.defineProperty(export
我在 chrome 和 PhantomJS 上使用这个 javascript(没问题),但在 IE 11 上则不行(XPathResult 未定义) document.evaluate(".//*[@
在使用 document.evaluate 时,我再次尝试将 xpathResult 用作与所附示例类似的上下文节点,但没有成功,我哪里错了? const getAllLiButton = docum
我参与了一个从 IE8 迁移到 IE9 的项目。我了解到 IE9 及更高版本不再支持 selectNodes() 执行 xPath 查询。作为回应,我转向 Google 的 Wicked-Good-X
我是一名优秀的程序员,十分优秀!