2012-06-04 4 views
0

어떻게 $('td.created')을 모두 선택하고 <br>에 html을 분할 한 다음 span 태그의 각 섹션을 감쌀 수 있습니다 (클래스를 span : first 순서로 추가 할 수 있도록). 그것을 스타일링).요소에 분할 문자열의 부분 문자열 래핑

$('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 buddy, excellent – 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/