3

属性を入力に動的に追加する必要がありますが、機能しません。

  • this.nomRootは、ここでのコンポーネントの名前です'input'。

  • this.lstAttrは、「name」や「checked」などの属性を持つ配列です。

  • this.lstAttrValueは、「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で実行されますが、属性は追加されません。

私はそのようなことを試みました:

  • this.lstOptionsは、「name、myCheckbox」のような属性と属性値を持つ配列でした

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

1 に答える 1

3

属性と値を設定する場合は、2つのインデックスを参照するだけです。ある種の文字列を作成する必要はありません。

$(html).attr(this.lstAttr[key], this.lstAttrValue[key]);
于 2012-11-28T21:17:12.113 に答える