Jquery双分裂字符串和包装结果分开

时间:2015-02-19 14:12:37

标签: jquery split pseudo-class

我有一个$ 295.52的字符串 我想分开它并最终得到以下结论:

  <span>$</span>295.<span>52</span>

我尝试在逗号之后成功分割数字,但现在我无法控制第一个字符。这是我的代码:

      $('.slprice').each(function () {
            var text = $(this).text().split('.');
            for (var i = 0, len = text.length; i < len; i++) {
                text[i] = '<span class="pricefix-' + i + '">' + text[i] + '</span>';
            }
            $(this).html(text.join(''));

       });

3 个答案:

答案 0 :(得分:2)

您可以使用正则表达式,设置组以匹配您要分割为span元素的部分。像这样:

var $container = $('#foo');
var re = /(\$)(\d+\.)(\d+)/;
$('.slprice').each(function () {
    var matches = $(this).text().match(re);
    $(this).html('<span>' + matches[1] + '</span>' + matches[2] + '<span>' + matches[1] + '</span>');
});

Example fiddle

答案 1 :(得分:0)

function formatString(x)
{
y = x.split(".");
return "<span>"+y[0][0]+"</span>"+y[0].substr(1, y[0].length-1)+"<span>"+y[1]+"</span>";
}

并像

一样使用它
$('.slprice').each(function () {
            var text = $(this).text().split('.');
            $(this).html(formatString(text));

       });

工作Fiddle

答案 2 :(得分:0)

我会这样做: FIDDLE

$('.slprice').each(function () {
        var text = $(this).text().split('.')
        var dollar_sign = text[0].substr(0, 1);
        var cents = text[1];
        var int = text[0].substr(1, 3);
        alert(dollar_sign);
        alert(cents);
        alert(int);
        //your other code

});