HTMLInputElement没有方法'val'

The*_*i.9 31 html javascript jquery

我循环遍历表格行中的单元格.每个单元格中都有一个文本框,我想获取文本框的值并将其推送到数组中.

function dothing() {
        var tds = $('#'+selected+' td');
        var submitvals = new Array();
        tds.each(function(i) {
            var val = $(this).children('input')[0].val();
            submitvals.push(val);
        });
    }
Run Code Online (Sandbox Code Playgroud)

更多的是功能,但这是所有相关的.出于某种原因,当我运行此代码时,我得到"HTMLInputElement没有方法'val'." 我认为输入元素应该val()在jQuery中有一个获得值的方法,所以这没有意义.我错过了什么,或做错了吗?

med*_*iev 65

val()是一个jQuery方法..value是DOM Element的属性.使用[0].value.eq(0).val()....


Ale*_*lex 16

.val()是一个jQuery函数,而不是一个javascript函数.因此,改变:

var val = $(this).children('input')[0].val()
Run Code Online (Sandbox Code Playgroud)

至:

var val = $(this).children('input:eq(0)').val()
Run Code Online (Sandbox Code Playgroud)