如何使用javascript将标记插入到表中

如何使用javascript将标记插入到表中,javascript,Javascript,我有一个有四个单元格的表格行。我正在尝试使用javascript插入以下内容: </tr><tr> 在两个单元格之间,基本上从一个单元格创建两行(在特定屏幕大小下) 我需要改变这一点: <table> <tr> <td>stuff</td> <td>stuff</td> <td>stuff<

我有一个有四个单元格的表格行。我正在尝试使用javascript插入以下内容:

</tr><tr> 

在两个单元格之间,基本上从一个单元格创建两行(在特定屏幕大小下)

我需要改变这一点:

<table>
    <tr>
        <td>stuff</td>        
        <td>stuff</td>        
        <td>stuff</td>        
        <td>stuff</td>
    </tr>
</table>

东西
东西
东西
东西
为此:

<table>
    <tr>
        <td>stuff</td>        
        <td>stuff</td> 
    </tr><tr>       
        <td>stuff</td>        
        <td>stuff</td>
    </tr>
</table>

东西
东西
东西
东西
这是我的剧本:

$('table tr td:nth-child(3)').before('</tr><tr>');
$('table tr td:nth child(3)')。在('')之前;
下面是我得到的:

<table>
    <tr>
        <td>stuff</td>        
        <td>stuff</td> 
    <tr></tr>            <--- notice that </tr><tr> becomes <tr></tr>!
        <td>stuff</td>        
        <td>stuff</td>
    </tr>
</table>

东西
东西

尽管jQuery提供了抽象,但您并没有使用HTML。您正在使用DOM对象

被解释为:

  • 不存在的表行的结束标记,忽略此
  • 创建一个表行
  • 您需要创建一个表行,将其放在希望的位置,然后将表单元格移动到其中

    可能是这样的:

    var tr = $('<tr />');
    tr.append($('td+td+td'));
    $('table').append(tr);
    
    var tr=$('');
    tr.append($('td+td+td'));
    $('table')。追加(tr);
    
    您可以添加另一行,并将最后两个
    td
    元素转移到新行

    $('<tr>').insertAfter('tr').append($('td').slice(-2))
    
    $('').insertAfter('tr').append($('td').slice(-2))