0

入力内の数字をインクリメントする単純な関数があります。

$(elem).find("input").attr("name", function(i, name) {
  return name.replace(/\[(\d+)\]/, function(match, number) {
    return "[" + (+number + 1) + "]";
  })
})

elem最初の行を次のように変更して、同じ機能をすべてのラベルに拡張したいと考えています。

$(elem).find("input, label").attr("name", function(i, name) {

最初の関数は期待どおりに機能しますが、検索クエリに追加labelすると、次の行でエラーが発生します。

TypeError: name is undefined
return name.replace(/\[(\d+)\]/, function(match, number) {

なぜこうなった?入力、div、およびその他の HTML タグとfind同じラベルを付けることはできませんか?find

4

0 に答える 0