对象HTMLInputElement attr不是函数

时间:2014-05-10 17:37:22

标签: javascript jquery html function input

我正在尝试从数组中获取输入ID,但不确定我是否正确获取数据或出错了,因为我需要获取id属性来进行一些操作。首先,我动态创建:

$('<input>').attr({
    type        : 'hidden',
    name        : 'id_products[]',
    value       : product_id,
    id          : 'id_'+product_id,
    readonly    : 'readonly'
}).appendTo('#form);

然后,我以这种方式获得数组:

var selectedIDs = $('[name="id_products[]"]');

之后,如果selectedID的长度大于0,我使用for循环来获取元素。但我需要当前元素的id属性(或输入值):

if(selectedIDs.length > 0) {
    //There's at least 1 selected product

    for(var j=0; j < selectedIDs.length; j++)
    {
        var id_temp = selectedIDs[j].val();//.attr("id");
        ...
    }
    ...
}

但是firebug说:[object HTMLInputElement] .val()不是一个函数(显然与attr()相同)。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

应为$(selectedIDs[j]).val()selectedIDs[j].value

原生DOM元素上的JQuery函数无法正常工作

http://jsfiddle.net/N2HAS/1/