0

私はたくさんの質問を見てきましたが、どれもこれに対する答えを持っていないようです。私は必死にこの助けが必要です。私はMagentogoでホストされているので、コアファイルにアクセスできませんが、jqueryを使用して、ストアから.00を非表示にします。たとえば、私のコードは次のようになります。Rsのアイテムの価格。HTMLでもあるので貼り付けることができませんでした

              <div class="price-block"
              <p> The price of this item is 
                <span class="price" id="oldprice">
                     <span class="WebRupee"> Rs. </span>3,795.00             </span></p>
              </span>

                </div>

                <script>

                     $('#price-block').html($('#price-block').html().replace(".00",""));

                </script>

            </body>
            </html>
4

3 に答える 3

4

あなたはあなたのdivのクラスとしてそれを持っています

<div class="price-block" // <-- also missing >

クラスセレクターを使用する.

$('.price-block')

http://jsfiddle.net/WBsjA/

于 2012-12-20T14:22:37.990 に答える
1

これが1つのアプローチです。<span>価格は、検索と置換を容易にするために独自のHTMLでラップされていないため、親要素を解析し、子ノードをテキストノードから分離して、再構築する必要があります。

var newval;    
$('.price').each(function(j, pr) {
    // trick to remove the webRupee element for later
    var $webRupee = $(pr).find('.WebRupee').remove().wrap('<div>').parent().html();
    $(pr).contents().each(function(i, el) {
        if (el.nodeType === 3 && el.nodeValue.match(/\.00/)) {
           newval = el.nodeValue.replace(/\.00/, '');
        }
    });
    $(pr).html($webRupee + newval);
});

http://jsfiddle.net/mblase75/r2V6r/

于 2012-12-20T14:38:04.980 に答える
1

.price-blockコードマット全体で一度実行するのではなく、それぞれをループする必要があると思います。

$('.price-block').each(function(){
    $(this).html($(this).html().replace(".000","").replace(".00","").replace(".0",""));
});

また、HTMLマークアップを修正する必要があります

<div class="price-block">
    <p> The price of this item is 
        <span class="price" id="oldprice">
             <span class="WebRupee"> Rs. 3,795.000</span>
        </span>
    </p>
</div>

http://jsfiddle.net/daCrosby/XK48G/

于 2012-12-20T14:39:19.377 に答える