クローンhtml要素のidを変更するための次の式が見つかりました。 contactDetails[0]
contactDetails[1]
には変更:javascriptを解釈するヘルプRegex
var nel = 1;
var s = $(this).attr(attribute);
s.replace(/([^\[]+)\[0\]/, "$1["+nel+"]");
$(this).attr(attribute, s);
私は正規表現とひどく慣れていないけど、私はまだ苦労していますが、それを解釈し、The Regex Coachの助けを借りてしようとしています。 ([^\[]+)
は、「[
」ではない文字と一致し、\[0\]/
は[0]
と一致します。真ん中の/
は「両方を含む」と解釈するので、著者が最初の式を含む理由がわからない。
私は置換文字列の$ 1を理解していません。単にRegex Coach置換機能を使用すると、置換として[0]を使用し、置換として1を置換すると正しい結果が得られます。ただし、 JavaScriptをs.replace(/\[0\]/, "["+nel+"]");
に変更すると、文字列sは変更されません。
元の著者が意図したことについて助言をいただき、検索文字列内の任意の場所に大括弧で囲まれた数字を正常に置き換える解決策を見つけるのに役立ちます。
ありがとう、本当にいい説明。次のアラートは[0]に連絡しますが、私のためには機能しません。 var nel = 1; var s = "連絡先[0]";s.replace(/([^ \\ [] +)\\ [\ d + \\] /、 "$ 1 [" + nel + "]"); アラート – Richbits
var s = s.replace(...)はそのトリックを行います。変数への置き換えを割り当てる必要があります。文字列は変更されません。 –
ありがとうございます、それは間違っていました、あなたの助けに感謝します。 – Richbits