问题标签 [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 投票
1 回答
4874 浏览

getelementsbyclassname - get element by classname for IE11

I've an issue with queryselectorall and IE11. It works on IE10 and firefox but with last cheet Do you have a solution for having an element by his classname?

The alert and display none is working on everything except Internet Explorer 11

thanks

0 投票
3 回答
221 浏览

javascript - querySelectorAll 的选择器不一致

:checked在 JavaScript 中使用选择器时document.querySelectorAll(),我发现存在不一致的行为。When the :checkedselector is used for checkbox or radio button it doesn't require space before the colon (:), but when this used for select options it requires a space before it. 为什么会这样?

以下是示例:-

复选框: http: //jsbin.com/fehonoho/1/edit ?html,js,console

选择: http: //jsbin.com/yasotuli/1/edit ?html,js,console

0 投票
2 回答
43595 浏览

javascript - 如何使用 QuerySelector 获得第二个匹配项?

以下语句为我提供了类titanic的第一个元素

我将如何检索具有相同类的第二个元素?

0 投票
2 回答
380 浏览

javascript - IE8 和 querySelectorAll() 的问题返回仅具有开始 HTML 标记的元素

我的网页没有<main class="page-content"></main>在 IE8 中渲染标签中的内容。我正在使用backbone.js框架,并且我有一个将元素附加到页面上的视图。我也使用 html5shiv。

第一个元素追加只是找到(导航栏及其所有元素);但是,IE8 在尝试追加.page-content元素时会引发错误。我已将此问题追溯到 jQuery 的 find 方法中的不一致。仅在 IE8 中,当对包含标签的 DOM 执行 a 时,该方法返回一个属性设置为.find('.page-content')的元素。请注意,缺少结束标记(以及所有内部元素)。这只发生在 IE8 中(我还没有测试过 >IE8),当它发生时,它会导致方法在 jQuery 的方法中失败。.outerHTML<MAIN class=page-content>appendChild()append()

深入挖掘了jQuery的find方法,发现问题的根源是jQuery使用Web API方法的时候querySelectorAll()。在 jQuery 的代码中,开发人员评论如下:

但是,我真的不知道这意味着什么......

我创建了一个 jsFiddle 示例来演示这个问题:http: //jsfiddle.net/VHL7Q/6/

如果您在 IE8 中打开 jsFiddle 链接,将显示警报:

或者,如果您在 Chrome 或 Firefox 中打开 jsFiddle 链接,将显示警报:

没有纠正我自己的 find 遍历 DOM 树的方法,我不知道如何开始解决这个问题。

注意:似乎有效的“创可贴”类型的解决方案是用标签替换<main></main>标签<div></div>。但是,我不能永久使用此解决方案;我需要帮助找到使用<main></main>标签的方法。

0 投票
1 回答
3306 浏览

javascript - 从 jQuery 移植到 Zepto 时出现无效选择器错误

我正在尝试在 jQuery 中使用 Zepto 来代替 vex.js 插件。

在执行上述选择器时,我遇到了错误。

我该如何解决这个问题。

这是从 vex.js 中提取的代码

0 投票
2 回答
9287 浏览

javascript - queryAll 和 querySelectorAll 有什么区别

DOM 标准中的定义似乎几乎完全相同,我不明白其中的区别。

queryAll和有什么区别querySelectorAll

DOM标准的评估逻辑如下,但我不够聪明,无法理解。

query&queryAll

要将相对选择器字符串 relativeSelectors 与集合匹配,请运行以下步骤:

让 s 是从 relativeSelectors 中针对 set 解析相对选择器的结果。[选择器]

如果 s 失败,则抛出 JavaScript TypeError。

使用 :scope 元素集返回评估选择器 s 的结果。[选择器]

query(relativeSelectors) 方法必须返回运行匹配相对选择器字符串relativeSelectors 与由上下文对象组成的集合的第一个结果,如果结果是空列表,则返回null。

queryAll(relativeSelectors) 方法必须返回一个 Elements 数组,该数组使用运行结果将相对选择器字符串 relativeSelectors 与由上下文对象组成的集合相匹配。

querySelector&querySelectorAll

要将选择器字符串选择器与节点进行范围匹配,请运行以下步骤:

让 s 成为解析选择器选择器的结果。[选择器]

如果 s 失败,则抛出 JavaScript TypeError。

使用作用域根节点和作用域方法作用域过滤,返回针对节点根计算选择器 s 的结果。[选择器]。

querySelector(selectors) 方法必须返回针对上下文对象运行范围匹配选择器字符串选择器的第一个结果,如果结果为空列表,则返回 null。

querySelectorAll(selectors) 方法必须返回针对上下文对象运行范围匹配选择器字符串选择器的静态结果。

0 投票
1 回答
117 浏览

javascript - W3C Selectors API 实现 jquery Selector $('a span:contains("myText")')

我想改变

什么是 ???我应该打字吗?

0 投票
2 回答
2256 浏览

jquery-selectors - 访问锚标记的 innerHTML

我无法访问一些需要用作菜单栏标题的 innerHTML:有关详细信息,请参阅附图...

我需要将标题“AMRIS”作为字符串存储到 javascript 变量中。

稍后我将使用以下代码来填充带有我抓取的标题的 Bootstrap 菜单:

右键单击 > 在新选项卡中打开图像以查看完整尺寸

在此处输入图像描述

0 投票
2 回答
61 浏览

jquery - 无法在 html 文件上编写 querySelectorAll

我无法写出具有相同类名的 div 的总数,当我尝试这样做时,它只打印 [object NodeList]。如何获取 div 类的数量并将它们打印在文档上?非常感谢,代码如下:

<script> var elementos = document.querySelectorAll('#container .foo') document.write(elementos); </script>

0 投票
0 回答
373 浏览

javascript - 对 getElementsByClassName/querySelectorAll 结果的元素访问

我正在尝试通过 getElementsByClassName/querySelectorAll 函数访问我的元素,但我不明白当我尝试从结果中获取元素时会发生什么。

我读到这两个函数的返回不是数组而是 nodeList,但即使使用 item 函数,它也不起作用。

cells1 和 cells2 向我展示了正确的东西,一个包含 22 个元素的列表,但我无法使用 array/nodeList 方法访问它们。

元素是用 d3.js 创建的,但如果我不说错误,它应该是创建良好的 HTML DOM 元素。那么为什么它不起作用呢?