我正在做以下事情:
$('#clear-button').click(function () {
var clearableFieldArray = $('.clearable-field');
var array = Array.prototype.slice.call(clearableFieldArray);
for (var i = 0; i < 7; i++) {
if (i == 6) {
array[i].val('');
} else {
array[i].val('All');
}
}
});
当我执行console.log(array[i])
时,它会输出正确的元素和子元素,但是当我尝试访问.val()
时,它会一直返回undefined,为什么会这样做
答案 0 :(得分:1)
如果它是前6个元素中的一个,它是一个select,所以将值设置为“All”这是我的选项,否则第7个元素是文本输入,所以将val设置为“”
在这种情况下,您可以简化代码而无需数组:
$('#clear-button').click(function () {
$('input.clearable-field').val('');
$('select.clearable-field').val('All');
});
答案 1 :(得分:1)
您可以使用jQuery选择器包装$(array[i])
,因为它看起来不是选择jQuery对象而是选择常规DOM对象。