5

如何修复常规 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);
4

1 回答 1

6

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);
}
​
于 2012-04-10T19:21:39.833 回答