1

我正在尝试将类添加到字符串/数字组合的部分。我的意思是这样的:

myword22-30

myword总是相同的,所以它应该直接匹配,数字可能不同,hypen 总是在那里。我希望结果是以下内容的最终标记:

<span class="word">myword</span><span class="num1">22</span><span class="divider">-</span><span class="num2">30</span>

首先这可能吗?在 jQuery 中用相当大的文本块做这样的事情是否有效?

4

2 回答 2

3

尝试

$('p').html(function(idx, content){
    return content.replace(/myword\d+-\d+/g, function(text){
        var numcount = 0;
        return text.replace(/([a-zA-Z]+|\d+|-)/g, function(val){
            if(/[a-zA-Z]/.test(val)){
                return '<span class="word">' + val + '</span>';
            } else if(/[\d+]/.test(val)){
                return '<span class="num' + ++numcount + '">' + val + '</span>';
            } else {
                return '<span class="divider">' + val + '</span>';
            }
        });
    })
});

演示:小提琴

于 2013-06-26T11:23:37.167 回答
1

你是这个意思吗 ?

var $newClass = $(".word").text() + $(".num1").text() + '-' + $(".num2").text();

http://jsfiddle.net/pgbqg/

然后您可以使用添加此类

http://api.jquery.com/addClass/

于 2013-06-26T11:20:11.863 回答