select.val在数组中返回undefined

时间:2015-01-22 13:51:56

标签: javascript jquery html

我正在做以下事情:

$('#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,为什么会这样做

2 个答案:

答案 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对象。