如何修复常规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);
答案 0 :(得分:5)
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);
}