作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为 xml 创建跨浏览器界面,特别是使用 XPath 表达式来选择节点。
IE 很简单:
this.documentElement.selectNodes(xPathStr);
返回一个提供类数组访问的对象(results[i]
或 results(i)
)。
但是,Firefox/chrome 就没那么容易了。
this.xpathEvaluator.evaluate(xPathStr, this.documentElement, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
返回一个 XPathResult,可以使用 results.snapshotItem(i)
迭代或访问几乎类似数组。
我试过
var items = results.snapshotItem;
但是当我尝试使用它时出现错误(“对 WrappedNative 原型(prototype)对象的非法操作”)。
关于如何将其缓存为类数组变量的任何想法,或者我是否坚持手动创建数组然后返回它?
最佳答案
我相信您需要将结果切换到节点:
var item = nodes.snapshotItem[i];
我正在做一个类似的项目(有不同的问题),但这对我有用。但是,我猜你可以这样做:
var items = nodes.snapshotItem;
然后调用 items[i]。不过,我还没有测试过。
关于javascript - 将 xpathResult.snapshotItem 存储在局部变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11635184/
我正在尝试为 xml 创建跨浏览器界面,特别是使用 XPath 表达式来选择节点。 IE 很简单: this.documentElement.selectNodes(xPathStr); 返回一个提供
我是一名优秀的程序员,十分优秀!