在元素中包装拆分字符串的子字符串

时间:2012-06-04 17:41:49

标签: javascript jquery html string split

如何使用javascript / jquery选择所有$('td.created')并在<br>上拆分html,然后将每个部分换成span标签(这样我就可以添加一个类来跨越:首先按顺序设计风格)。

$('td.created').html()返回的字符串格式类似于

posted by User123 <br> Posted on 1/2/12 at 4:15PM

2 个答案:

答案 0 :(得分:1)

可能的通用解决方案(不仅适用于2行):

$("td.created").each(function() {
    var text = this.innerHTML.split("<br>");
    for (var i = 0; i < text.length; i++) {
        var span = $("<span />").html(text[i]);
        if (i == 0) span.addClass("first");
        span.appendTo("#element");
    }
});​

DEMO: http://jsfiddle.net/7xQAL/

答案 1 :(得分:1)

$('td.created').each(function(i, html) {
    var newHtml = $(this).contents(),
        spans = [];
    newHtml.each(function() {
        var html = (this.nodeName.toLowerCase() == 'br') ? '<br>' : '<span>' + this.textContent + '</span>';
        spans.push(html);
    });
    $(this).html(spans.join(''));
});

DEMO(使用DIV容器) http://jsfiddle.net/PVLek/