0

jQueryを使用してフォームに要素を挿入しようとしています。

これを行うには、要素のクローンを作成し、属性を変更して挿入し、.html()を使用してjqueryオブジェクトをHTMLオブジェクトに変換しますが、機能しません。

function addInput(divName){
    var selector= $('#tipoProducto').clone();
    selector.attr('name', counter );

    var newdiv = document.createElement('div');
    newdiv.innerHTML = "<li>porcentaje "
       + (counter + 1) 
       + "</li><li>\
         <input type='text' name='myInputs[]'></li>\
         <li>Ingediente Activo" 
       + (counter + 1)
       + "</li><li>"
       + selector.html()
       + "</li>";
    document.getElementById(divName).appendChild(newdiv);
    counter++;
}
4

1 に答える 1

4

そのために、要素のクローンを作成して属性を変更し、挿入してから.html()を使用してjqueryオブジェクトをhtmlオブジェクトに変換しますが、機能しません。

あなたはそれをする必要はありません。代わりに、より一般的に、次のようなことを行うことができます。

var div = $('<div><ul><li>X</li><li>Y</li></ul></div>');
$(div).appendTo($('#' + divName));

html()そのようなDOMコードなどを使用する必要はありません。実際、jQueryのDOM操作ショートカットは99.99%のクロスブラウザー(メーカーとバージョン)であるのに対し、標準のDOM呼び出しは古いバージョンのIEでは異なる可能性があるため、このようにする必要があります。

于 2013-03-26T16:52:40.970 に答える