Jquery分别对字符串和结果进行双拆分和换行

Jquery分别对字符串和结果进行双拆分和换行,jquery,split,pseudo-class,Jquery,Split,Pseudo Class,我有一根绳子295.52美元 希望将其拆分并以以下内容结束: <span>$</span>295.<span>52</span> 295.52美元 我尝试分割逗号后的数字,成功,但现在我无法抓住第一个字符。这是我的密码: $('.slprice').each(function () { var text = $(this).text().split('.'); for (var i

我有一根绳子295.52美元 希望将其拆分并以以下内容结束:

  <span>$</span>295.<span>52</span>
295.52美元
我尝试分割逗号后的数字,成功,但现在我无法抓住第一个字符。这是我的密码:

      $('.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(''));

       });
$('.slprice')。每个(函数(){
var text=$(this.text().split('.');
for(变量i=0,len=text.length;i

工作

您可以为此使用正则表达式,设置组以匹配要拆分为
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>');
});
var$container=$('#foo');
变量re=/(\$)(\d+\)(\d+)/;
$('.slprice')。每个(函数(){
var matches=$(this.text().match(re);
$(this.html(“”+匹配[1]+“”+匹配[2]+“”+匹配[1]+“”);
});

我会这样做:

$('.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

}))

你到底有什么问题?提取第一个字符时遇到问题吗?您是否尝试过使用substr()方法?示例:
var Currency=text.substr(0,1)绝对答案,但在整数上不是动态的。如果价格是234454.90美元,那么在这种情况下,$符号不会是动态的,curency符号
$
?你为什么说它不会是动态的?为什么需要它是动态的?货币可能会随站点/翻译而变化,例如:/希望选择第一个字符,而不考虑其值。请尝试此正则表达式:
/(.{1})(\d+\)(\d+/
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>');
});
$('.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