如何使用jQuery遍历div的子元素?
我有一个div,它有几个输入元素。。。我想遍历这些元素中的每一个。想法?使用和,您可以选择将选择器传递给孩子 您也可以只使用直接子选择器:如何使用jQuery遍历div的子元素?,jquery,iteration,Jquery,Iteration,我有一个div,它有几个输入元素。。。我想遍历这些元素中的每一个。想法?使用和,您可以选择将选择器传递给孩子 您也可以只使用直接子选择器: $('#mydiv > input').each(function () { /* ... */ }); 也可以迭代特定上下文中的所有元素,而不需要说明它们嵌套的深度: $('input', $('#mydiv')).each(function () { console.log($(this)); //log every element fo
$('#mydiv > input').each(function () { /* ... */ });
也可以迭代特定上下文中的所有元素,而不需要说明它们嵌套的深度:
$('input', $('#mydiv')).each(function () {
console.log($(this)); //log every element found to console output
});
传递给jQuery“input”选择器的第二个参数$'mydiv'是上下文。在这种情况下,each子句将遍历mydiv容器中的所有输入元素,即使它们不是mydiv的直接子元素。如果需要递归遍历子元素: 注: 在这个例子中,我展示了一个对象注册的事件处理程序
也可以这样做:
$('input', '#div').each(function () {
console.log($(this)); //log every element found to console output
});
儿童本身就是一个循环
$('.element').children().animate({
'opacity':'0'
});
我认为您不需要使用,您可以使用标准for循环
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");
}
通过这种方式,默认情况下可以使用“断开并继续”等循环标准功能
而且,调试也会更容易
这将遍历所有子元素,并且可以分别使用element和index分别访问其具有索引值的元素。它使用.attr'value'作为元素属性
$("#element div").each(function() {
$(this).attr('value')
});
然后在闭包中使用$this访问循环中的当前项。@amarsuperstar:正在添加该信息:-假设$this是父项的第n个子项,有没有办法知道n的值?@SouvikGhosh:索引作为每个子项的第一个参数传递给回调函数。检查上面答案中链接的文档。可能是因为嵌套,这个解决方案对我有效,而另一个解决方案不起作用。出于这个原因,我认为这通常是更好的解决方案。这就是我一直在寻找的。有没有办法从它们的值中生成json?我需要发布所有的主题为json。工程伟大!但是如果我需要所有的输入和选择项呢?我的经验是$。每个都比for循环慢,这是使用它的唯一答案。这里的关键是使用.eq访问子数组中的实际元素,而不是括号[]符号。
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");
}
$('#myDiv').children().each( (index, element) => {
console.log(index); // children's index
console.log(element); // children's element
});
$("#element div").each(function() {
$(this).attr('value')
});