0

私は現在、以下に示すように、HTML内の999という数字の出現箇所を置き換えようとしています。スクリプトを壊している3行目を追加しました。

var new_id = uniqid(),
    new_field_html = repeater.find('> table > tbody > tr.row-clone').html()
                .replace(/(=["]*[\w-\[\]]*?)(\[999\])/g, '$1[' + new_id + ']');
    new_field_html = new_field_html.('div.checkbox_container').html()
                .replace('1000', new_id);
    new_field = $('<tr class="row"></tr>').append( new_field_html );

私が置き換えようとしている変数1000は、<li>要素のIDやonclickJavascript要素などの多くの場所で発生します。

最終的解決

上記のコードは次のように変更されました。

var new_id = uniqid();
var new_field_html = repeater.find('> table > tbody > tr.row-clone')
                     .html().replace(/(=["]*[\w-\[\]]*?)(\[999\])/g, 
                     '$1[' + new_id + ']').replace(/1000/g, new_id)
                     .replace(/999/g, new_id);
new_field = $('<tr class="row"></tr>').append( new_field_html );
4

1 に答える 1

1

new_html_field変数はjQueryオブジェクトではないため、jQueryメソッドを使用することはできません。を実行すると、jqueryオブジェクトにすることができます$(new_field_html)

2番目の問題はこのビットにあります:

new_field_html.('div.checkbox_container')

あなたはおそらく使用するつもりでした

new_field_html.find('div.checkbox_container')

それを一緒に入れて:

new_field_html = $(new_field_html)
                     .find('div.checkbox_container')
                     .html().replace('1000', new_id);
于 2012-09-21T09:55:27.393 に答える