Javascript document.evaluate不在Chrome中工作?
我有以下几点Javascript document.evaluate不在Chrome中工作?,javascript,google-chrome,dom,xpath,document.evaluate,Javascript,Google Chrome,Dom,Xpath,Document.evaluate,我有以下几点 var result = doc.evaluate("//input[@class=\"form_field_as as-input\"]", context, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, nul
var result = doc.evaluate("//input[@class=\"form_field_as as-input\"]",
context,
null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null);
for(var i = 0; i < result.snapshotLength; i++) {
a[i] = result.snapshotItem(i);
}
return a;
var result=doc.evaluate(“//input[@class=\”form\u field\u as input\”,
上下文
无效的
XPathResult.ORDERED\u节点\u快照\u类型,
无效);
对于(var i=0;i
我正在计算的表达式来自输入。该代码在FireFox中运行良好,但当我在Chrome上测试它时,它不会返回任何信息。我做错了什么
我正在评估的输入是
<input type="text" id="sharees" class="form_field_as">
来自
contextNode
类型的Node
这个
context
是
此XPath表达式的求值。
如果XPathEvaluator是通过
铸造文档
则必须
属于同一文档,并且必须
成为文档
,元素
,
属性
,文本
,CDATA部分
,
注释
,处理说明
,或
XPathNamespace
节点。如果上下文
节点是文本
或CDATA节
,
然后,上下文被解释为
如所示的整个逻辑文本节点
XPath,除非节点在中为空
在这种情况下,它可能不会作为
XPath上下文
因此,您的上下文必须是这些类的某个实例。我猜你可能根本没有设置这个变量。还可以使用null
,上下文将成为计算表达式的节点
除此之外,请注意,//input[@class='form\u field\u as input']
是一个绝对表达式,它将从任何上下文返回相同的结果(当“通过强制转换文档
获得XPathEvaluator
时,不允许使用外部文档上下文).当我用你的代码检查chrome中的javascript控制台时,我得到一个错误,说“doc”没有定义。doc
只是doc
@Skizit:显然没有?对不起,我知道应该是doc而不是doc。我得到了一个未捕获引用错误:上下文未定义。
也许您可以在这里发布更多的代码,以便更清楚地了解这些变量应该是什么。。。忽略我的最后一个comment@Stephen我真的不知道还有什么好补充的。这都在一个iframe内?酷。我只是想发布一个与资源类似的答案。本页上的示例在Chrome中运行良好。