javascript - HTML 类的 jQuery .each() 迭代 - 定义了依赖于订单类的不一致行为

标签 javascript jquery dom each

我使用 jQuery 的 $.each() 方法来迭代属于某个类(例如 class="definition")成员的所有 DOM 元素,然后将每个元素的 ID 打印到控制台。但是,迭代似乎仅适用于首先定义指定类的元素。因此,对于具有多个类的元素,如果指定的类没有在 HTML 中首先列出,则它看起来像是“被跳过”。

例如:

HTML

<p class="definition" class="snippet" id="P1">Paragraph 1</p>
<p class="open" class="definition" class="snippet" id="P2">Paragraph 2</p>
<p class="snippet" class="definition" id="P3">Paragraph 3</p>
<p class="definition" class="snippet" id="P4">Paragraph 4</p>
<p class="definition" id="P5">Paragraph 5</p>

JavaScript

$( document ).ready(function() {
    $(".definition").each(function() {
        console.log(this.id);
    });
});

在上面的示例中,控制台记录了 P1、P4 和 P5 的 ID,但不记录其他的 ID。

定义类的键入顺序是否应该决定 jQuery 的 $.each() 是否按类识别元素?

最佳答案

使用

<p class="definition snippet" id="P1">Paragraph 1</p>

相反。

当您第二次设置类属性时,它会重写第一次。
这:

<p class="definition" class="snippet" id="P1">Paragraph 1</p>

相同
<p class="snippet" id="P1">Paragraph 1</p>

您还可以使用控制台检查真实的 html 代码。

关于javascript - HTML 类的 jQuery .each() 迭代 - 定义了依赖于订单类的不一致行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24148380/

相关文章:

javascript - 从同步循环内调用异步函数并保持结果有序

Javascript:如何为 2 个对象创建 IF 语句?

javascript - document.ready 中的 setInterval 不起作用

javascript - Highchart formatter 函数每次执行两次

javascript - 将 React 与工具创建的 SVG 一起使用

javascript - api调用后更新组件的正确方法是什么

jquery 模态对话框高度问题

javascript - 确定所有子元素的宽度

javascript - 隐藏元素按 Esc

javascript - element.querySelector (".exampleClass") 不是函数