2013-08-14 2 views
2

Я пытаюсь удалить некоторые элементы под ячейкой таблицы.Как удалить тег html и обернуть его другим тегом

мой HTML, как

<table> 
<tr> 
    <td> 
    <span>first text</span> 
    <span>second text</span> 
    <span>third text</span> 
    </td> 
    <td> 
    <span>1st text</span> 
    <span>2nd text</span> 
    <span>3rd text</span> 
    </td> 
</tr> 
…more 

Я хочу, чтобы мой HTML стал

<table> 
<tr> 
    <td> 
    <span>first text second text third text</span> 
    </td> 
    <td> 
    <span>1st text 2nd text 3rd text</span> 
    </td> 
</tr> 
…more 

Я попробовал.

$('table td span').contents().unwrap().wrap('<span></span>'); 

но у меня такие же результаты, как и у моего оригинала.

Возможно, так получилось? Большое спасибо!

+1

Я думаю, вы должны быть в состоянии сделать что-то вроде .text(), а затем завернуть, что в пролете. (тогда вы должны сделать $ ('table td') вместо этого) –

ответ

5

нужно повторять каждый td и использовать wrapAll вместо wrap:

$('table td').each(function() { 
    $(this).find('span').contents().unwrap().wrapAll('<span></span>'); 
}) 

http://jsfiddle.net/gNMCh/

+0

Единственное изменение, которое я имел для этого: '$ (this) .find ('span'). append ('')', чтобы текст имел пробел между после удаления «». – kalley

Смежные вопросы