0

1 つのページで複数回使用される product-attributes という css クラスがあり、各クラスには異なる文字列が含まれています。これらの文字列にはすべてカンマが含まれており、これを単に br タグに置き換えたいと思います。以下のコードを思いつきましたが、これによりすべての文字列がまったく同じ文字列に置き換えられます (最初のクラス インスタンスの修正から)。

$('.product-attributes').html($('.product-attributes').html().replace(/,/g,'<br />'));

どこが間違っていますか?

どうもありがとう

4

2 に答える 2

0

セレクターでの呼び出しは、セレクターによって返される要素html()に対してのみ呼び出されます。すべての出現箇所で文字列を置き換えるためfirstに使用する必要があります。each()

$('.product-attributes').each(function(){    
    $(this).html($(this).html().replace(/,/g,'<br />'));    
});
于 2013-10-17T18:56:14.367 に答える
0

クラスのすべてのインスタンスで関数を呼び出すには、.each()を使用する必要があります。それ以外の場合は、そのクラスを持つすべての要素の html をクラスの最初のインスタンスの html に変更するだけです。あなたが上で説明したように。

$('.product-attributes').each(function(){
    $(this).html($(this).html().replace(/,/g,'<br />'));
});
于 2013-10-17T18:56:18.620 に答える