Ski*_*zit 2 javascript xpath dom google-chrome document.evaluate
我有以下......
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;
Run Code Online (Sandbox Code Playgroud)
我正在评估的表达式来自输入.代码在FireFox中工作正常,但是当我在Chrome上测试时,它不会返回任何内容.我究竟做错了什么?
我正在评估的输入是......
<input type="text" id="sharees" class="form_field_as">
Run Code Online (Sandbox Code Playgroud)
小智 5
来自http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate
contextNode
型Node
的context
是该XPath表达式的评估上下文节点.如果是由铸造获得的XPathEvaluatorDocument
那么这必须由同一文件所拥有,而且必须是Document
,Element
,Attribute
,Text
,CDATASection
,Comment
,ProcessingInstruction
,或XPathNamespace
节点.如果上下文节点是aText
或aCDATASection
,则上下文被解释为XPath所见的整个逻辑文本节点,除非该节点为空,在这种情况下它可能不用作XPath上下文.
所以,你context
必须是这些类的一些实例.我想你可能根本就没有设置这个变量.您也可以使用null
,并且上下文将成为您评估表达式的节点.
除此之外,千万注意,//input[@class='form_field_as as-input']
是一个绝对的表达式,它会从任何方面返回相同的结果(外文档上下文时,不允许" XPathEvaluator
是由铸造获得的Document
").
归档时间: |
|
查看次数: |
5392 次 |
最近记录: |