我正在尝试从数组获取输入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");
        ...
    }
    ...
}


但是萤火虫说:[object HTMLInputElement] .val()不是一个函数(与attr()显然相同)。有任何想法吗?

最佳答案

它应该是$(selectedIDs[j]).val()selectedIDs[j].value

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

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

09-07 16:47