字符串修改适用于jQuery 1.6.4,但不适用于1.3.2

时间:2014-03-13 01:58:21

标签: javascript jquery html

我正在尝试对字符串做两件事:

  • 删除第一个字符($ Symbol)。
  • 将小数位和后面的数字(.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 个答案:

答案 0 :(得分:2)

在1.4版本中添加了接受函数的jQuery中的html()方法。

在版本1.3中,您只能将HTML字符串传递给此函数。

V1.0至V1.3

.html( htmlString )

1.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);
});

答案 1 :(得分: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>