【问题标题】:object HTMLInputElement attr is not a function对象 HTMLInputElement attr 不是函数
【发布时间】:2014-05-10 17:37:22
【问题描述】:

我正在尝试从数组中获取输入 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[]"]');

之后,如果 selectedIDs 的长度大于 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() 相同)。有什么想法吗?

【问题讨论】:

标签: javascript jquery html function input


【解决方案1】:

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

原生 DOM 元素上的 JQuery 函数不起作用

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

【讨论】:

  • 它适用于输入或任何其他具有value 属性的HTML 元素(对于val()),但您必须先使用$() 语法将其转换为JQuery 对象
猜你喜欢
  • 2017-05-04
  • 2016-12-16
  • 2012-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 2014-01-31
  • 1970-01-01
相关资源
最近更新 更多