2012-06-04 34 views
0

如何使用javascript/jquery來選擇所有$('td.created')並拆分<br>上的html,然後將每個段都包含在span標記中(這樣我就可以添加一個類來跨度:首先按順序來設計它)。在一個元素中包含拆分字符串的子字符串

這是從$('td.created').html()返回的字符串的格式是一樣的東西

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

+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/

+0

+1好友,優秀 – thecodeparadox

+0

順便說一下,我想修改原來的TD並在其中添加跨度,而不是一個新元素。我該怎麼做? – Tallboy

+1

@Tallboy只需清空'td'內容並追加到它:http://jsfiddle.net/7xQAL/1/。 – VisioN

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/

相關問題