如何使用jquery在单独的TD中获取文本

时间:2013-06-25 12:24:24

标签: jquery html

我有HTML结构,其中一个td包含两个文本。我希望在另一个td中包装第二个文本并在第一个td后添加它。我已经完成了一项功能,但并没有完全正常工作。这是示例code

//Current html
<tr>
<td>first <a>second</a></td>
</tr>

//expected result
<tr>
<td>first</td>
<td><a>second</a></td>
</tr>

<script type="text/javascript">
$(function(){
var ff= [];
$('a').click(function(){
$('td a').each(function(index){
ff.push($(this).prop('outerHTML'));
$(this).remove();
$('td').eq(index).after().append('<td>'+ff[index]+'</td>')
})})})
</script>

2 个答案:

答案 0 :(得分:1)

你可以在新的td中附加每个td的a并在原来的td之后添加:

$('a').click(function(){

        $('td a').each(function(){
            $(this).parent().after('<td></td>');

            $(this).appendTo( $(this).parent().next() );


            });
        });

working jsfiddle

或在一行(更令人困惑,也许:)):

$('td a').each(function(){
            $(this).appendTo( $(this).parent().after('<td></td>').next() );
});

答案 1 :(得分:1)

$('a').click(function(){
    $('td a').each(function(index){
        $(this).insertAfter($(this).parent()).wrap('<td />');
    });
});

jsFiddle