【问题标题】:JavaScript for each element in <ul> [closed]<ul> 中每个元素的 JavaScript [关闭]
【发布时间】:2014-08-06 21:19:52
【问题描述】:

如何通过某个 ul-Element 并搜索其中的每个 li-Element?我只找到了 jquery 解决方案,但不想在这里使用它。

【问题讨论】:

  • &lt;element&gt;.getElementsByTagName 是您需要的工具。
  • &lt;element&gt;.querySelectorAll。您可能会从阅读有关 DOM + JS 的教程中获益最多:quirksmode.org/dom/intro.html
  • @FelixKling querySelectorAll 不适用于旧版浏览器,所以我想我必须遍历元素。
  • @JeremyJStarcher 谢谢你的帮助。
  • IE8+ 支持 querySelectorAll。如果你必须支持IE7及以下,那么是的,你必须使用getElementsByTagName

标签: javascript list


【解决方案1】:

在没有外部库(如 jQuery 或 D3)的情况下循环选择部分有点烦人,因为选择不会返回 Array 而是返回 HTMLCollection NodeList(取决于您的浏览器)。如果您经常做这种事情,我建议使用一些第三方库。无论如何,这里是如何在纯 JavaScript 中做到这一点。

// This is not an Array but either an HTMLCollection or a NodeList
var selection = document.getElementById(<id>).getElementsByTagName("li");

for(var i = 0; i < selection.length; i++)
{
    // do something with selection[i]
}

请务必注意,由于您的选择不是数组,因此您不能使用 for-each 循环(至少是预期的方式)或任何更高级别的 Array 函数如here所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    相关资源
    最近更新 更多