Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用document.evaluate时未定义XPath元素/对象_Javascript_Jquery_Xpath_Jquery Selectors_Document.evaluate - Fatal编程技术网

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

Javascript 使用document.evaluate时未定义XPath元素/对象,javascript,jquery,xpath,jquery-selectors,document.evaluate,Javascript,Jquery,Xpath,Jquery Selectors,Document.evaluate,如何修复常规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); var obj = $('html &g

如何修复常规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);
var obj = $('html > body > form > div:nth-child(4) > label > input');

alert(obj.value);
JQuery 1.7.1代码:

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

alert(obj.value);
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);
}
​

你有没有关于不同结果类型的好例子的好参考(链接)。我仍在想它们是如何工作的。这应该给你一个好的开始:这就是我正在读的。哈哈!我认为文档编写得很糟糕。他们没有一整套好的例子。