【问题标题】:jQuery nodelist -- how to iterate [closed]jQuery节点列表——如何迭代[关闭]
【发布时间】:2014-03-17 20:46:53
【问题描述】:

我的意思是我想使用 for 循环或其他东西手动迭代。但是我想出的这段代码似乎不起作用。我喜欢将 javascript 与 jquery 结合起来,因为 jquery 不是我的主要项目的一杯茶。我也不太了解jquery,不过我想说我开始学习了。你如何在 jquery 中迭代节点列表是我这次对所有 jquery 粉丝的问题。它类似于javascript方式吗?无论如何,这就是我想出的(初学者的代码)。

$("sn"[i]).fadeIn();

$("sn"[i]) 失败的部分,根据谷歌浏览器。

【问题讨论】:

  • 您需要提供更多关于什么是 i 和什么是 sn 的上下文
  • 你的代码语法错误
  • @user3322451 发布您的 html 将使您的问题更加清晰。
  • 我看不到您的代码将如何以“Javascript 方式”工作,正如您所说的那样。使用相关信息更新您的问题,例如HTML例子,大家自己看看
  • @ArunPJohny:实际上不是。如果i0,那么"sn"[i] 返回"s"

标签: javascript jquery


【解决方案1】:

试试这个:

$("sn[" + i + "]").fadeIn();

【讨论】:

  • 你确定吗?因为那是我输入的同一个东西,我担心。
  • 抱歉,看看我的编辑,我敲回车太快了:)
  • 这将选择所有具有属性的sn 元素(无论i 的值是什么)。
【解决方案2】:

我认为你的意思是“sn”是节点的选择器,在这种情况下:

$("sn").fadeIn();

这适用于匹配选择器的所有元素,jQuery 将进行迭代。但是,如果您想选择所有具有 'sn' 类的元素,您应该在选择器前加上 . 前缀,如下所示:".sn"

如果你想手动循环尝试:

$(".sn").each(function(i) {
  $(this) // do some magic with the individual element here
});

在此处查看有关每个迭代的更多信息: https://api.jquery.com/each/

【讨论】:

    【解决方案3】:

    假设sn 是一个包含节点列表的变量,您可能正在寻找

    $(sn[i])
    

    sn.eq(i)
    

    如果sn 已经是一个 jQuery 对象。

    【讨论】:

    • 实际上它是一个类选择器。这还能用吗?
    • 我认为类选择器只有写在 "" 中才有效
    • @user3322451 你的意思是sn 是一个类吗?那么i是什么@
    • 什么是类选择器?您说您有一个节点列表,我认为这意味着您已经选择了要迭代的元素。
    • 你的意思是$(".sn").eq(i]).fadeIn();
    猜你喜欢
    • 2021-02-14
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多