使用document.evaluate时,未定义XPath元素/对象

如何修复常规JavaScript代码,使其不会显示“undefined”并显示输入字段的值? jQuery代码工作正常,并在同一页面上正确显示输入字段值。

常规JavaScript:

var obj = document.evaluate('//html/body/form/div[4]/label/input',document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null); alert(obj.value); 

JQuery 1.7.1代码:

 var obj = $('html > body > form > div:nth-child(4) > label > input'); alert(obj.value); 

document.evaluate()返回一个XPathResult。 您可以像这样检索元素:

 var obj = document.evaluate('//html/body/form/div[4]/label/input', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; if(obj != null) { alert(obj.value); }​ 
Interesting Posts