问题标签 [sizzle]

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 投票
2 回答
459 浏览

javascript - 复杂选择器在 jQuery 1.8 中中断,但在 1.7.2 中有效

我有一些这样的 HTML(是的,这有点奇怪,但它是一个现有的项目):

还有一些像这样的JS:

实际上,时间字符串是由一些 JSON 生成的,因此是一种奇怪的方式。

这在以前的 jQuery 版本中有效,但在 1.8 中没有,可能是由于 Sizzle 的变化。这是它不起作用的示例:

jQuery 1.7.2:http: //jsfiddle.net/VnA4m/

jQuery 1.8:http: //jsfiddle.net/VnA4m/1/

关于如何从我time = "21.30---22.00"的选择器获得适用于 1.8 的选择器的任何想法?

0 投票
1 回答
1395 浏览

selenium - 使用 CSS 选择器选择元素 A 或元素 B

有没有办法选择 CSS 选择器表达式中指定的 2 个元素之一?如果未找到元素 A,则选择元素 B。

例子:

上面的表达式应该返回以“sometext”结尾idinput元素或textarea元素。id

作为旁注,我正在尝试在 selenium2library 中使用这个 CSS 选择器,它使用嘶嘶声来处理 css 选择器。

我尝试了以下方法,它们似乎都不起作用(语法错误):

0 投票
1 回答
1141 浏览

javascript - 为什么诸如 :not() 和 :has() 之类的函数伪函数允许引用参数?

显然,正如我在评论另一个答案时发现的那样,jQuery(而不是它的底层选择器引擎Sizzle)允许您将参数引用到:not()选择器以及:has()选择器。也就是说

Selectors 标准中,引号始终代表字符串,而不是选择器或关键字,因此引用参数:not()始终无效。这在选择器 4 中不会改变。

您还可以通过添加不受支持的 CSS 选择器(例如:nth-last-child(1) 导致选择器完全失败)来查看它的非标准语法:

是否有任何充分的理由(技术或其他方面)允许在此处引用?唯一想到的可能性是:

  • 与 which 的一致性:contains()允许引用和未引用的参数,如旧的 Selectors 规范中所示。除了:contains()接受字符串/关键字,不接受选择器......

  • 与 using 的自定义伪实现保持一致$.expr[':'],它始终允许带引号和不带引号的参数。

  • 移植到其方法对应项的一致性和易用性.not()以及.has()(只需删除或拆分外部引号并将冒号更改为句点?)。

但我找不到任何支持或反对他们的消息来源。事实上,引用选择器参数本身的能力也没有记录在任何地方,引用和不引用参数之间似乎也没有任何区别:

0 投票
3 回答
438 浏览

javascript - 在非 AMD 代码上使用 dojo/select

我的网站上有使用 Sizzle 作为选择器引擎的旧版 JavaScript。

我最近添加了 dojo 库 (v 1.8) 用于可视化目的(图表等)。因为 dojo 包含选择器 (dojo/select),所以我认为 Sizzle 现在是多余的,我可以用 dojo/select 替换它。有没有办法让 dojo/select 与非 AMD 代码一起工作?

0 投票
2 回答
4441 浏览

jquery - 获得类“活动”时如何禁用单击jquery

我想在div.button ol.control li有类时禁用点击active。已经用了.bind(),但是还是不行,求大神帮忙,谢谢!

这是我的脚本http://jsfiddle.net/surya31/HcaBS/

0 投票
1 回答
2338 浏览

node.js - 具有完整 Sizzle 支持的 JSDom 替代方案?

对于一些范围,我有一个在 cloudfoundry 上运行的抓取应用程序。由于这里讨论的 Contextify 问题,我无法使用 jsdom 来执行此操作。

为了解决这个问题,我开始用 Cheerio 替换 jsdom 但是我现在意识到它并不完全支持我需要用来处理抓取的数据的 Sizzle 选择器。

经过一番研究,我开始认为我已经碰壁了——还有其他方法可以解决这个问题吗?

谢谢!

0 投票
1 回答
583 浏览

jquery - 嘶嘶声和/或 querySelectorAll - 嵌套元素的枚举顺序?

如果我有一组嵌套的 DOM 元素,例如ul > li > ul > li,我自己使用选择器li,是 Sizzle 还是document.querySelectorAll定义元素返回的顺序?

可能返回的顺序包括“最先”、“叶节点在前”或“按文档顺序”,但我从未见过任何写下来指定哪个顺序。

0 投票
1 回答
1114 浏览

jquery - createPseudo performance

I recently had a quick look at the new jQuery Sizzle, i was wondering if there is any significant performance difference between using Sizzle.matchesSelector or assessing directly the attribute of the element parameter :

VS :

I find personaly matchesSelector easier since we keep on jquery level and we can add easily some constraints (.someClass in my exemple above)

0 投票
1 回答
1590 浏览

jquery - jQuery Sizzle 在选择器上调用错误

为什么当我使用嘶嘶声时出现以下代码调用错误:

选择$($myInput+":checked")器返回“[object Object]:checked”。但是当我简单地使用变量内容时就像$("#myForm input:checked")工作一样小心。

谢谢

0 投票
4 回答
3852 浏览

javascript - HTML5 数据属性中的通配符

是否可以在属性名称中使用带有通配符的 jQuery 查找所有 DOM 元素?

考虑以下 HTML:

我想要实现的是找到所有属性名称以开头的dom节点data-validate-

据我了解,此处描述的通配符与属性的“值”有关。

这样做的原因是 - 我想找出应该验证哪些元素 - 然后找出哪些验证参数(如 -email)起作用。

谢谢