Jquery:如何使用函数.attr()动态添加属性

时间:2012-11-28 21:13:51

标签: javascript jquery dynamic attributes

我需要动态地将我的属性添加到我的输入中,但它不起作用。

  • this.nomRoot是此处'input'的组件名称。

  • this.lstAttr是一个包含'name'或'checked'等属性的数组。

  • this.lstAttrValue是一个具有attributs值的数组,如'myCheckbox'或'true'。

这是我的代码:

Component("Input", {
    add: function(element, type) {
       html = $('<'+this.nomRoot+' type="'+ type +'" />').appendTo('#'+element);

       for(key in this.lstAttr) {
          alert(this.lstAttr[key]);
          alert(this.lstAttrValue[key]);
          $(html).attr("'"+this.lstAttr[key]+"', '"+this.lstAttrValue[key]+"'");
       }

    }
});

所以我的代码用firebug运行但不添加attributs。

我尝试过类似的东西:

  • this.lstOptions是一个包含attributs和attributs值的数组,如“name,myCheckbox”

    $("<"+this.nomRoot+" />").attr(this.lstOptions).appendTo(element);
    

1 个答案:

答案 0 :(得分:3)

您想要设置属性和值,只需引用两个索引。无需构建某种字符串。

$(html).attr(this.lstAttr[key], this.lstAttrValue[key]);