2014-03-13 55 views
2

我試圖做兩件事情來的字符串:字符串修改工作中的jQuery 1.6.4而不是1.3.2

  • 刪除第一個字符($符號)。
  • 將小數點後面的數字(.00)放在類「仙」的範圍內。

這是我的代碼,但是它在jQuery 1.6.4上工作,客戶端運行jQuery 1.3.2 我該如何解決這個問題?

非常感謝。

<span class="price">$90.00</span> 

<script type="text/javascript"> 
    $(".price").html(function (i, html) { 
     return html.replace(/(\.\d+)$/,'<span class="cents">$1</span>').slice(1) 
    }); 
</script> 

編輯:小提琴:http://goo.gl/79EvZw

回答

2

html()方法jQuery中接受在1.4版本中加入的功能。

在版本1.3中,您只能將HTML字符串傳遞到此函數中。

V1.0到V1.3

.html(htmlString) 

V1.4

.html(htmlString) 
.html(function(index, oldhtml)) 

要獲得的jQuery 1.3相同的行爲,你可以做到以下幾點:

$(".price").each(function(index, elem) { 
    var price = $(elem); 
    var oldHtml = price.html(); 
    var newHtml = oldHtml.replace(/(\.\d+)$/,'<span class="cents">$1</span>').slice(1); 
    price.html(newHtml); 
}); 
+0

如果肯定會有幾個價格元素,我該如何去做呢? 對不起,我相當新的 – user3413318

+0

JSFiddle的更新版本:http://jsfiddle.net/gZ7R2/ – Fenton

+1

謝謝你!完美地工作。乾杯! – user3413318

0
<div class="price">$90.00</div> 
<div class="price">$100.00</div> 
<div class="price">$30.22</div> 
<script type="text/javascript"> 
    $(".price").each(function() { 
     var div = $(this); 
     var split = div.html().split('.'); 
     var decimal = split[1]; 
     var dollars = split[0].replace('$',''); 
     div.html(dollars); 
     div.append($("<span classs='cents'>."+decimal+"</span>")); 
    }); 
</script>