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

Wrapping a split string's substrings in an element

本文关键字:字符串 元素 包装 拆分      更新时间:2023-09-26

如何使用javascript/jquery选择所有$('td.created')并在<br>上拆分html,然后将每个部分包装在span标签中(以便我可以将类添加到span:first以设置其样式)。

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

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

可能的通用解决方案(不仅适用于 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");
    }
});​

演示:http://jsfiddle.net/7xQAL/

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

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