我知道这已被问及已经回答了几次,但我仍然对如何在迭代jQuery数组时引用当前对象感到困惑。例如,下面的代码给我错误TypeError: genH3Array[i].next is not a function
。什么是正确的方式来引用当前的数组对象?迭代通过jQuery对象数组
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())
})
有了`value`属性,推测是。这就是它的目的,不是吗? – 2011-01-07 02:45:38
请注意,genH3Array不是一个数组,而是一个jQuery对象。这可能是你为什么遇到[]和下标有问题的原因。查看http://api.jquery.com/jQuery.each/。 – 2011-01-07 02:46:31