function recursiveEach($element){
$element.children().each(function () {
var $currentElement = $(this);
// Show element
console.info($currentElement);
// Show events handlers of current element
console.info($currentElement.data('events'));
// Loop her children
recursiveEach($currentElement);
});
}
// Parent div
recursiveEach($("#div"));
var children = $element.children().not(".pb-sortable-placeholder");
for (var i = 0; i < children.length; i++) {
var currentChild = children.eq(i);
// whatever logic you want
var oldPosition = currentChild.data("position");
}
这样,您就可以在默认情况下使用标准for循环特性,如break和continue debugging will be easier
8条答案
按热度按时间dgjrabp21#
使用
children()
和each()
,您可以选择将选择器传递给children
你也可以使用直接子选择器:
vwhgwdsa2#
也可以在特定上下文中遍历所有元素,不管它们嵌套得有多深:
传递给jQuery 'input' Selector的第二个参数$('#mydiv')是上下文。在这种情况下,each()子句将遍历#mydiv容器中的所有input元素,即使它们不是#mydiv的直接子元素。
xnifntxz3#
如果你需要循环遍历子元素 recursively:
**注意:**在这个例子中,我展示了一个对象注册的事件处理程序。
oxf4rvwz4#
这将遍历所有子元素,并且可以分别使用 element 和 index 单独访问具有索引值的元素。
qeeaahzv5#
也可以这样做:
mwyxok5s6#
我不认为你需要使用
each()
,你可以使用标准的for循环这样,您就可以在默认情况下使用标准for循环特性,如
break
和continue
debugging will be easier
alen0pnh7#
children()本身就是一个循环。
sqxo8psd8#
它使用.attr('value ')来表示元素属性