问题标签 [selectors-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
13157 浏览

javascript - XPath 还是 querySelector?

XPath 可以做所有 querySelector 可以做的事情,甚至更多,那么你什么时候会选择后者呢?我还没有看到任何比较两者的速度基准,所以现在我根据语法简洁性进行选择,这似乎有点武断。

编辑:我可能应该说我正在为 Firefox 编写 Greasemonkey 脚本,所以我不担心跨浏览器的兼容性,并且宁愿不包含任何库。

0 投票
3 回答
7486 浏览

jquery - :nth-of-type() 在 jQuery / Sizzle 中?

令我惊讶的是Sizzle(jQuery 使用的选择器引擎)带有一个内置的:nth-child()选择器,但缺少一个:nth-of-type()选择器。

:nth-child()为了说明和之间的区别:nth-of-type()来说明问题,请考虑以下 HTML 文档

由于 Sizzle 使用浏览器原生querySelector()querySelectorAll()方法(如果存在)(即在已经实现Selectors API$('body p:nth-child');的浏览器中),当然可以使用类似的东西。但它在旧版浏览器中不起作用,因为 Sizzle 没有此选择器的后备方法。

是否可以轻松地将:nth-of-type()选择器添加到 Sizzle,或者在 jQuery 中实现它(也许通过使用内置的:nth-child()选择器)?带有参数的自定义选择器会很好。

0 投票
2 回答
2061 浏览

css - 数据属性的 selectors-api

在 HTML5 中,CSS 选择器似乎可以很好地与 data-* 属性配合使用。例如:

将正确设置第一个 . 但是,尝试使用 selectors-api 选择此类元素会失败。例子:

或者

在 Chrome 和 Safari 中,这会产生一个神秘的错误:

SYNTAX_ERR:DOM 异常 12

关于如何使用 selectors-api 根据 data-* 属性正确选择元素有什么想法吗?

0 投票
5 回答
14149 浏览

javascript - 所有浏览器都支持 querySelector 吗?

我想知道所有浏览器都支持querySelector吗?不是它可以使用什么替代品吗?

我已经用 IE8、FF3、Chrome 4 对其进行了测试。对我来说很好。我没有旧的浏览器。所以我想知道旧浏览器是否会给我带来问题?

0 投票
2 回答
1583 浏览

javascript - 使用 Javascript 从复选框传递值

我正在构建一个简单的表单,我试图从复选框中传递值......

...使用此功能:

它工作正常,除了它同时传递所有值。

可以来帮我解决这个问题吗?

提前谢谢了

多姆

0 投票
4 回答
4260 浏览

javascript - 为什么 querySelector('#id') 不映射到 document.getElementById('id')?

我最近进入了选择器的性能,document.getElementById当一个简单#id的被传递时,当前实现选择器 API 的浏览器不使用这让我很烦恼。

性能损失是巨大的,因此库作者继续以自己的方式实现这一点。

有任何想法吗?

0 投票
8 回答
117449 浏览

javascript - 通过 JavaScript 更改 CSS 伪元素样式

是否可以通过 JavaScript 更改 CSS 伪元素样式?

例如,我想像这样动态设置滚动条的颜色:

而且我还希望能够告诉滚动条像这样隐藏:

然而,这两个脚本都返回:

未捕获的类型错误:无法读取 null 的属性“样式”

还有其他方法可以解决这个问题吗?
跨浏览器的互操作性并不重要,我只需要它在 webkit 浏览器中工作即可。

0 投票
1 回答
6644 浏览

javascript - javascript addEventListener by querySelector 不起作用

嗨,这是我的 javascript 代码:

从这段代码中,除了“ads.addEventListener”倒数第二行之外,一切正常。是什么原因?我在这里做错了什么吗..?

我需要通过单击添加的广告类 div 来调用我的显示功能。

有人帮我吗?

0 投票
2 回答
3303 浏览

javascript - 有没有办法让 querySelectorAll 只搜索元素的子元素,而不是所有子元素?

例如,如果我有一个文档片段:

(这是一个假设的文档。HTML 解析器实际上不会构造一个看起来像这样的 DOM。)

以及对最外层<div>元素的引用,我想以某种方式outerDiv.querySelectorAll('p')仅选择作为<p>external 的直接子元素的元素<div>

我不能使用outerDiv.childNodes和搜索<p>元素,因为我实际上有一个比它长得多的选择器"p"(例如,它可能看起来像"p > a > b")。我也无法控制 HTML,也无法使用 jQuery 或其他 JavaScript 库。

"div > "预先添加到选择器并从中应用它也是不够的,outerDiv.parentNode因为内部<p>也匹配"div > p"

有没有一种干净的方法可以做到这一点,而不必自己解析 CSS 选择器,太多了?

0 投票
10 回答
73588 浏览

javascript - querySelector 搜索直系子级

我有一些类似 jquery 的功能:

问题是我该如何做同样的事情querySelector()

问题是>选择器querySelector()需要明确指定父级。有什么解决方法吗?