gpt4 book ai didi

javascript - 如何使用for循环遍历 child

转载 作者:可可西里 更新时间:2023-11-01 02:32:51 26 4
gpt4 key购买 nike

我想遍历 jQuery 的 .children() 返回值的所有子项,如下所示:

var childs = $element.children();        
for (var i = 1; i < childs.length - 1; i++)
childs__.foo();

我必须在第 3 行而不是 __ 中写什么才能访问第 i 个子节点?

我想要这个是因为我想访问循环中的第 (i-1) 个和第 (i+1) 个子节点,如下所示:

var childs = $element.children();        
for (var i = 1; i < childs.length - 1; i++)
{
childs<<i>>.css('height', childs<<i - 1>>.height());
childs<<i>>.css('width', childs<<i + 1>>.width());
}

所以我假设 each() 函数将不起作用。

最佳答案

childs 是一个 javascript array .因此,您可以通过 childs[indexOfElement] 访问数组中的对象。在您的情况下 childs[i]

var childs = $element.children();        
for (var i = 1; i < childs.length - 1; i++)
childs[i].foo();

var childs = $element.children();        
for (var i = 1; i < childs.length - 1; i++)
{
childs[i].css('height', childs[i-1].height());
childs[i].css('width', childs[i+1].width());
}

但是:您的代码有错误。 children 集合中的元素不是 jQuery 对象。它只是一个 DOM 元素。所以你必须将它们包装在 $(...) 中才能使用 jQuery 函数。所以你的代码将变成:

var childs = $element.children();        
for (var i = 1; i < childs.length - 1; i++)
{
var thisElement = $(childs[i]);
var next = $(childs[i+1]);
var prev = $(childs[i-1]);
thisElement.css('height', prev.height());
thisElement.css('width', next.width());
}

附言。它应该被命名为 children。 :)

关于javascript - 如何使用for循环遍历 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9819592/

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