JavaScript replace メソッドの正規表現 ()部分の参照
正規表現の()でくくった部分を $1 で参照できる
例えば Teeda で生成された Items 内の要素を jQuery で clone する場合は以下のようにして追加すればOK
<input id="hoge" class="hoge" name="hoge:hogeItems:1:fuga"/>
var base = $('input.hoge'); var name = base.attr('name'); base.clone().attr( 'name', name.replace(/(Items:)(\d+)/,'$12') // hoge:hogeItems:2:fuga //$2とした場合は 1 がとれる );
正規表現の()でくくった部分を 関数内で参照する
関数にパラメータとして渡される
var base = $('input.hoge:last'); var name = base.attr('name'); base.clone().attr( 'name', name.replace(/(Items:)(\d+)/,function(str,p1,p2){//strは一致部分全体、p1/p2は()部分 return p1 + (p2-0+1); //Items:2 }); //hoge:hogeItems:2:fuga );