gpt4 book ai didi

javascript - 遍历 jQuery 对象数组

转载 作者:行者123 更新时间:2023-12-01 02:36:48 25 4
gpt4 key购买 nike

我知道这个问题已经被问过并回答过几次了,但我仍然对在迭代 jQuery 数组时如何引用当前对象感到困惑。例如,以下代码给出错误 TypeError: genH3Array[i].next is not a function。引用当前数组对象的正确方法是什么?

var genH3Array = $('#Generation_II').parent();
genH3Array.push($('#Generation_III').parent());;
genH3Array.push($('#Generation_IV').parent())

$.each(genH3Array, function(i, value)
{
if(genH3Array[i].next().attr("align") == "center")
{ genH3Array[i].next().next().next().insertBefore(heading.next())
}
genH3Array[i].next().next().insertBefore(heading.next())
genH3Array[i].next().insertBefore(heading.next())
})

编辑:感谢大家的帮助。我知道这对你们大多数人来说可能是小菜一碟,但对我来说却是一个非常头疼的问题。更正后的代码如下:

var genH3Array = $('#Generation_II,#Generation_III,#Generation_IV').parent();

$.each(genH3Array, function(i, value)
{
console.log($(this).next());

if($(this).next().attr("align") == "center")
{
$(this).next().next().next().insertBefore(pokemonHeader.next())
}
$(this).next().next().insertBefore(pokemonHeader.next())
$(this).next().insertBefore(pokemonHeader.next())
$(this).insertBefore(pokemonHeader.next())
})

最佳答案

这部分:

var genH3Array = $('#Generation_II').parent();
genH3Array.push($('#Generation_III').parent());
genH3Array.push($('#Generation_IV').parent());

...并不是对 jQuery 对象使用 .push() 的真正方法。当您 .push() 输入一个值时,它应该是一个 DOM 元素。不是 jQuery 对象。

您可以像这样简化整个过程:

var genH3Array = $('#Generation_II,#Generation_III,#Generation_IV').parent();

现在您将在对象中拥有所有三个的.parent()

不完全确定每个元素应该做什么,但似乎您正在尝试获取每个元素的下三个元素,并将它们插入到某个 heading 元素之后。

$.each(genH3Array, function(i, value) {
if($(this).next().attr("align") == "center") {
heading.after( $(this).nextUntil('sometarget:last') );
}
heading.after( $(this).nextUntil('sometarget') );
});

我真的不知道这是否是你想要的。有点难说。

关于javascript - 遍历 jQuery 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com