使用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); }