我有一个div,它有几个输入元素在它…我想要遍历每一个元素。想法吗?
当前回答
也可以遍历特定上下文中的所有元素,无论它们嵌套有多深:
$('input', $('#mydiv')).each(function () {
console.log($(this)); //log every element found to console output
});
第二个参数$('#mydiv')传递给jQuery 'input'选择器是上下文。在这种情况下,each()子句将遍历#mydiv容器中的所有输入元素,即使它们不是#mydiv的直接子元素。
其他回答
它使用.attr('value')来处理元素属性
$("#element div").each(function() {
$(this).attr('value')
});
使用children()和each(),您可以选择将选择器传递给子代
$('#mydiv').children('input').each(function () {
alert(this.value); // "this" is the current element in the loop
});
你也可以只使用直接子选择器:
$('#mydiv > input').each(function () { /* ... */ });
如果你需要递归地遍历子元素:
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"));
注意: 在本例中,我将展示向对象注册的事件处理程序。
也可以这样做:
$('input', '#div').each(function () {
console.log($(this)); //log every element found to console output
});
Children()本身就是一个循环。
$('.element').children().animate({
'opacity':'0'
});
推荐文章
- 如何让一个按钮将我的页面重定向到另一个页面?
- 如何让元素被点击(对于整个文档)?
- 使用jQuery改变输入字段的类型
- 使用jQuery以像素为整数填充或边距值
- 检查是否选择了jQuery选项,如果没有选择默认值
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 使用jQuery滚动到一个div
- 在JS/jQuery中触发按键/按键/按键事件?
- 如何每5秒重新加载页面?
- getJSON调用中的错误处理
- 如何用jquery或javascript排序对象数组
- 使用jQuery切换输入禁用属性
- 如何知道一个字符串开始/结束在jQuery特定的字符串?
- Twitter Bootstrap vs jQuery UI?
- 如何绑定“触摸启动”和“点击”事件,但不回应两者?