1

テーブル内に div を配置しようとしていますが、複数の行にまたがることはありません。

私が使用しているコードは次のとおりです。

<table>
    <tr>
        <td><div id="test"></td>
    </tr>
    <tr>
       <td>row 2 stuff</td></td>
    </div>
</table>

ボタンのクリックで動的に追加される複数の行があります。簡単に削除できるように、動的に追加された行の各グループを div 内に配置したいと思います。

問題は、FireFox が同じセルの div タグを自動的に閉じることです。最後に、それは私のクロージングを最初のセルの最後に移動しています。

4

4 に答える 4

2

完璧な結果を得るには、最後に開いたタグを最初に閉じる必要があります。コードは次のようになります。

<table>
    <tr>
        <td><div id="test"></div></td>
    </tr>
    <tr>
       <td>row 2 stuff</td>
    </tr>
</table>
于 2012-06-10T20:03:20.133 に答える
1

不適切にネストしているという意味で、マークアップは html 標準に準拠していません。行を追加する場合は、次の形式を使用します

<table>
    <div id="test">
    <tr>
        <td></td>
    </tr>
    <tr>
       <td>row 2 stuff</td></td>
    </tr>
    </div>
</table>

お気付きかもしれませんが、2 つの行を 1 つの div 内にグループ化しました。テーブル内に div をネストしているため、これでもお勧めできません。より便利な解決策は、次のようにグループ化する div にクラスを割り当てることです。

<table>
    <tr class="test">
        <td></td>
    </tr>
    <tr class="test">
       <td>row 2 stuff</td></td>
    </tr>
</table>

ここでは、グループ化したい行に共通のクラスが割り当てられています。したがって、Jquery でそれらを選択する場合は、次のようにします。

$("tr.test")

それが役立つことを願っています!

于 2012-06-11T02:18:38.613 に答える
1

<div>そのようなテーブル要素をタグで囲むことはできません。各行への簡単な参照を保持したい場合は、新しく追加されたすべての行への参照を保持するか、後でアクセスできるようにクラスを追加することを検討してください。

于 2012-06-10T19:44:04.137 に答える
0

HTML タグは厳密に別のタグ内にある必要があります。したがって、次のマークアップは許可されていません。

<b>this <i>is a</b> test</i>

あなたのマークアップは同じ規則に違反しています。

于 2012-06-10T19:54:10.543 に答える