问题标签 [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.
jquery - 嘶嘶声和/或 querySelectorAll - 嵌套元素的枚举顺序?
如果我有一组嵌套的 DOM 元素,例如ul > li > ul > li
,我自己使用选择器li
,是 Sizzle 还是document.querySelectorAll
定义元素返回的顺序?
可能返回的顺序包括“最先”、“叶节点在前”或“按文档顺序”,但我从未见过任何写下来指定哪个顺序。
javascript - .parents() 没有 jquery - 或 querySelectorAll 为父母
我有一个 dom 对象,我想匹配它的父母,所有父母,反对一个选择器,比如querySelectAll()
,但对于父母而不是孩子。类似于 jQuery 的.parents('selector')
方法,但我不需要任何向后兼容性。另外,请不要图书馆。我将 totes 取一个布尔返回值。
我可以自己将其编写为递归函数/for/while 使用matchesSelector()
. 我正在寻找鲜为人知的方法或更高效的代码。
节省任何处理都是值得的。想想数以万计的匹配检查,甚至更多。
javascript - querySelectorAll 无效语法
尝试在错误控制台中执行这两个代码块:
第一。输出节点列表。
第二个。产生错误。
为什么data-type=day
语法是好的而data-day=23
不是?属性值是否应该始终包装为data-type='day'
?
这是例外情况,在第二种情况下会引发:
[异常...“指定了无效或非法的字符串”代码:“12”nsresult:“0x8053000c(SyntaxError)”]
javascript - 如何删除使用 querySelectorAll 获取的元素?
这似乎可以快速回答,但我找不到。也许我在搜索错误的术语?请不要使用库,尽管我不需要跨浏览器后备,但我的目标是该项目的所有最新版本。
我得到了一些元素:
这是有效的,但我现在如何删除这些元素?我是否必须遍历它们并执行此操作element.parentNode.removeChild(element);
,还是缺少一个简单的功能?
javascript - IE9 等效于 querySelectorAll
我在 FF 或 Chrome 中没有遇到任何问题,但是 IE9 在这种方法上会出错。我认为我可以使用它,因为它已被证明在这里得到支持:
http://www.quirksmode.org/dom/w3c_core.html
然而,在实践中似乎并非如此。话虽如此,我可以用什么代替它?
编辑:这是它失败的确切行:
那是我第一次尝试使用 querySelectorAll()。浏览器版本号为 9.0.8112.16421
编辑(再次):我已经在两台不同的计算机上验证了这个错误。然而,他们有一个共同点——他们都在 VMware 上运行 Windows 7。这有关系吗?
浏览器模式是 IE9,但文档模式默认设置为 quirks。将其更改为 Internet Explorer 9 标准解决了该问题,但如果怪癖是默认设置,我仍然需要让它工作。
javascript - Firefox,查询选择器和可见的伪选择器
无论如何使用带有 Firefox 的 querySelector() 或 querySelectorAll() 函数的伪选择器来检测可见性?特别是我希望能够做这样的事情:
无需担心浏览器不一致或其他实现,只需 Firefox。谢谢!
编辑: Visible 由display not none和visibility not being hidden定义。
javascript - 为什么 querySelectorAll 在 jsPerf 上使用 data-xyz 工作,但在我的代码中却不行?
我在玩jsperf
,querySelectorAll
和data-xyz
属性。
这是我当前的 jsperf:jqmData 与属性选择器
关键部分在js
测试中:
请注意,我没有使用任何方括号 [],它仍然可以正常运行,并且比所有其他选择器都好。我将它提高到一个页面上的 200 多个数据角色元素,它仍然运行得更快。
然后我在这里尝试了我自己的测试页面(参见 Firebug),唉......当我省略方括号时,nodeList 是空的。
问题:
jsperf 使用了什么魔法,所以选择器在那里工作,而不是在我的虚拟网站上工作。
javascript - 如何在 css/js 属性选择器 [attr=value] 中正确转义属性值?
我应该如何转义 css/js 属性选择器中的属性[attr=value]
?
具体来说,这是正确的吗?
我正在寻找执行此操作的“标准方式”(如果有),因为我不希望 Sizzle 使用执行繁重的后备功能
javascript - 使用 querySelectorAll 为新创建的元素创建一个循环
我想要做的是使用该querySelectorAll()
函数创建一个循环,我可以在其中定位我使用我<li/>
创建的函数创建的每个新元素getInput()
(效果很好)。我想用它console.log()
来测试它,这样当我点击每个<li/>
项目时,它会确认我已经在控制台中这样做了。这种querySelectorAll()
方法对我来说是新的,而且我在学习 Javascript 方面也很陌生。因此,任何建议和解释都会非常有帮助。谢谢。
javascript - 在斜杠之间使用 querySelector
这里有一个例子:
我希望我querySelector
只选择“宝马”。
我使用它(如下),但它只选择句子的结尾,而不是“/car/”和“?load”之间的值
谢谢你的帮助 !