【问题标题】:Developer console's CSS Selector returns wrong results开发者控制台的 CSS 选择器返回错误的结果
【发布时间】:2017-07-04 22:37:04
【问题描述】:

使用 Firefox 或 Chrome 的开发者控制台,当我输入 $('a') 时,它应该以数组的形式返回页面上的所有链接(例如,如果我选择了错误的框架,它不会,但现在这不是问题)。请有人启发我,为什么我在某些站点上使用这个 CSS 选择器和 Firefox 和 Chrome 得到单个 a 结果,而在其他站点上使用一组 a (两个站点都有多个 a 标签)?

这以前有效,我不记得它曾经没有像这样工作过。作为参考,我们以http://www.useragentstring.com/pages/useragentstring.php

我的 Firefox 控制台结果: 铬合金:

如果我在 stackoverflow 上执行此操作,CSS 选择器也可以工作。 Xpath 适用于每个站点。

【问题讨论】:

    标签: css google-chrome firefox css-selectors


    【解决方案1】:

    来自Chrome dev tools documentation

    $(selector) 使用指定的 CSS 选择器返回对第一个 DOM 元素的引用。此函数是document.querySelector() 函数的别名。

    所以你在 useragentstring.com 上得到了预期的行为。

    在 Stackoverflow 上,您会得到不同的行为,因为 jQuery 已包含在页面中,并且 $ 变量已被 the jQuery object 覆盖(当作为函数调用时):

    接受一个包含 CSS 选择器的字符串,然后用于匹配 set 元素。

    【讨论】:

    • 如果默认值被覆盖,有什么方法可以调用它们?我可以将$ 用于单人,将$$ 用于设置结果,但前提是它们不会被覆盖。
    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    相关资源
    最近更新 更多