【问题标题】:XPath element/object is undefined when using document.evaluate使用 document.evaluate 时未定义 XPath 元素/对象
【发布时间】:2012-04-23 02:32:32
【问题描述】:

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

【问题讨论】:

    标签: javascript jquery xpath jquery-selectors document.evaluate


    【解决方案1】:

    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);
    }
    ​
    

    【讨论】:

    • 您有什么好的参考资料(链接)以及不同结果类型的好例子。我仍在努力了解它们的工作原理。
    • 这应该会给你一个好的开始:Introduction to using XPath in JavaScript
    • 那是我正在阅读的。哈哈!我认为文档写得不好。他们没有一套完整的好例子。
    猜你喜欢
    • 2021-03-05
    • 2020-07-14
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2019-04-02
    • 2021-10-22
    相关资源
    最近更新 更多