0

私は標準のテーブルを持っています:

jQueryを使用してテーブルを再フォーマットしたいのですが、具体的には、最初のtdのtbody内で終了trを追加し、新しいtrを開きたいと思います。

以下のjqueryで問題なくターゲットにでき、htmlが挿入されますが、方法が間違っています。

$('</tr><tr>').insertAfter('.table thead tr td:first-child');

新しいマークアップの順序が間違っています...助けていただければ幸いです。

<tr></tr> <--wrong!

私はそれが必要です:

</tr><tr>

私は何かが足りないのですか?

<table>
    <thead>
        <tr>
           <td>1</td>
           <td>2</td>
           <td>3</td>
           <td>4</td>
           <td>5</td>
           <td>6</td>
        </tr>
    </thead>
    <tbody>
        <tr>
           <td>1</td>
           <td>2</td>
           <td>3</td>
           <td>4</td>
           <td>5</td>
           <td>6</td>
        </tr>
        <tr>
           <td>1</td>
           <td>2</td>
           <td>3</td>
           <td>4</td>
           <td>5</td>
           <td>6</td>
        </tr>
        <tr>
           <td>1</td>
           <td>2</td>
           <td>3</td>
           <td>4</td>
           <td>5</td>
           <td>6</td>
        </tr>
    </tbody>
</table>
4

2 に答える 2

1

jQuery と JavaScript は一般に、有効な DOM 要素/ノードを作成および操作します。文字列を HTML に挿入しません (ただし、.html()/innerHTMLメソッドを使用して挿入できますが、解析が困難になる可能性があります)。に新しい行を挿入する場合は、次のようにしtheadます。

$('<tr />').insertAfter('thead tr:last');

新しいノード/要素ではなく文字列を挿入しようとしている理由がわかりません。あなたがやろうとしていることに関するより具体的な情報で質問を更新すると、より良い解決策で回答を更新します(可能であれば)。

于 2012-06-12T11:29:48.760 に答える
0

tr を jquery dom 要素に変換しています。これを行うことはできません。タグの開閉順序は常に維持されます。

テーブルの最初の Tr の HTML を取得して、文字列操作を行う必要があります。

var html = ('.table thead tr:first-child').html();
于 2012-06-12T11:19:09.637 に答える