クイックワン:SAMEクラスの値を異なる値に置き換えることは可能ですか?ここでJavascript - 同じクラスの要素を異なる値に置き換えます。
は私の意味は次のとおりです。私は、この配列は、AJAX応答で返されています:
var result = [
"$63.00/Night",
"$68.00/Night",
"$58.00/Night",
"$50.00/Night"
];
console.log(result[0]);
\t \t \t \t \t \t \t \t
result.forEach(function(item)
{
\t var num_price = parseFloat(item.replace(/[^\d\.]*/g, ''));
\t num_price = num_price * 2;
\t console.log(num_price);
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t
\t $('.gdlr-tail').html(num_price);
});
<span class="gdlr-tail">$63.00/Night</span>
<span class="gdlr-tail">$65.00/Night</span>
<span class="gdlr-tail">$67.00/Night</span>
<span class="gdlr-tail">$72.00/Night</span>
[
"$63.00/Night",
"$68.00/Night",
"$58.00/Night",
"$50.00/Night"
]
上記の配列は次のようになりますHTML応答から生成されます
コードの最後の行に問題があります:$('.gdlr-tail').html(num_price);
すべての値をレンダリングします最初のスパンの値、すなわちクラス内のすべての値が126(63*2)
に設定されています。これは私の配列がループ内にあるにもかかわらず起こります。最初の要素のみが計算され、他のすべての要素はこの計算の値に設定されます。
どこが間違っていますか?
あなたは '$( 'gdlrテール')を通じて'すぎを反復しなければなりません。そのため、最初の要素だけが更新されます。私は 'for'を使い、両方の配列の要素を扱うためにインデックスを使うことをお勧めします。 – n0m4d