1

以下のjavascriptとhtmlを検討してください。を初めて実行する
ときは、内部の1がすべて2に置き換えられてから、htmlが追加されることを期待していますが、実行時には発生しません。 私はここで何が間違っているのですか?addAnotherAddress()<div class="previous_address1"><div id="previous_addresses">html.replace(pattern, current_address + 1)

Javascript

var current_address = 1; // Used when adding in previous address entries

function addAnotherAddress() {
    var pattern = '/' + current_address + '/g';
    var html = $('.previous_address' + current_address).html();

    html = html.replace(pattern, current_address + 1);

    $('#previous_addresses').append(
        '<div class="previous_address' + (current_address + 1) + '">' + html + '</div>' 
    );
    current_address += 1;
}

HTML

<div id="previous_addresses">
    <span class="text_line">
    <u>Previous Addresses for Past 5 Years</u>
    </span>
    <div class="previous_address1">
    <span class="text_line">
        <i>Address 1</i>
    </span>
    <span class="text_line">
        <label for="previous_street1">Street:</label>
        <input type="text" id="previous_street1" />
    </span>
    <span class="text_line">
        <label for="previous_city1">City:</label>
        <input type="text" id="previous_city1" />
    </span>
    <span class="text_line">
        <label for="previous_state1">State:</label>
        <input type="text" id="previous_state1" />
    </span>
    <span class="text_line">
        <label for="previous_zip1">Zip:</label>
        <input type="text" id="previous_zip1" />
    </span>
    <span class="text_line">
        <label for="previous_county1">County:</label>
        <input type="text" id="previous_county1" />
    </span>
    </div>
</div>
4

1 に答える 1

1

文字列形式で正規表現パターンを直接使用することはできません。評価する必要があります。

html = html.replace(new RegExp(current_address, "g"), current_address + 1);
于 2012-10-04T15:56:11.333 に答える