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

XPath element/object is undefined when using document.evaluate

本文关键字:document evaluate 未定义 元素 对象 XPath      更新时间:2023-09-26

如何修复常规的JavaScript代码,使其不会显示"未定义"并显示输入字段的值? 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);
}
​