【问题标题】:XPath not working in JQuery selector (JQuery version 1.7.1)XPath 在 JQuery 选择器中不起作用(JQuery 版本 1.7.1)
【发布时间】:2012-04-10 16:47:36
【问题描述】:

下面是一个有效的 jQuery 选择器,并且值已正确设置到文本框中。为什么 jQuery 选择器中的 XPath 代码不起作用?我认为 jQuery 支持 XPath。

jQuery 代码工作:

$('html > body > form > div:nth-child(4) > label > input').val('hello world');

jQuery 代码不工作:

$('/html/body/form/div[4]/label/input[1]').val('hello world');

此处的文档:

http://docs.jquery.com/DOM/Traversing/Selectors

...在上面的文档中搜索此代码...。$("/html/body//p")

【问题讨论】:

  • 该链接有注释“这是 Selectors API 的旧版本”,当前版本位于 api.jquery.com/category/selectors - 你应该在那里查看。
  • +1 感谢您提供信息...如果他们将“版本 X 中已弃用”的字样放在不适用于最新版本的代码下方,将会很有帮助
  • 如果他们没有 4444ing 破坏它也会有所帮助,但也许有办法重新插入 XPath...

标签: jquery xpath jquery-selectors jquery-1.7


【解决方案1】:

jQuery 不再支持开箱即用的选择器的 XPath 语法。

如果您查看您链接到的文档,您会发现它适用于 1.1.2 版,这是 5 年前的版本。它还说,在一个带有居中文本的大红色框

这是旧版本的 Selectors API:

View the Current API

【讨论】:

  • 我可以使用常规 JavaScript 通过 XPath 获取对象,然后在我的 jQuery 代码中使用该对象吗?如果是这样,我该怎么做?
  • 如果浏览器在其 JavaScript 引擎中支持 XPath,那么您应该可以。请参阅developer.mozilla.org/en/…,尽管您应该完全放弃它并一直使用 jQuery。
  • 对于我上一条评论中我的问题的答案感兴趣的读者,请使用:stackoverflow.com/questions/10094891/…
【解决方案2】:

当 Xpath 选择器被移除 (in JQuery 1.2) 后,功能被移至插件 http://archive.plugins.jquery.com/project/xpath

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 2013-03-08
    • 2011-05-29
    相关资源
    最近更新 更多