如何在DOM中留下一个不可见的标记,以便以后我可以用元素填充它?

时间:2014-01-04 23:41:13

标签: html google-chrome dom

想象一下我想动态地将行放在表中的情况:

<table>

  <tr><th>Title</th><th>Author</th>
  <div class="rowsGoHere"></div>

</table>

此代码的问题是,Chrome会将<div>内的<table>视为非法,并且我在检查员中看到的结果页码如下:

<div class="rowsGoHere"></div>
<table>
  <tr><th>Title</th><th>Author</th>
</table>

因此,Chrome会自动将此div放在桌子上方。现在的问题是,我该如何避免这种情况?是否可以使用此<div>之外的其他内容,我稍后可以引用它来插入元素之后或之后?我还应该指出这个元素应该是通用的要求:我不能只使用<tr class="rowsGoHere">

这是一个严格的HTML有效性问题,请不要推荐任何jQuery代码或类似的东西。

2 个答案:

答案 0 :(得分:1)

您始终可以使用tbody追加新行

<table>
   <thead>
   <tr><th>Title</th><th>Author</th>
   </thead>
   <tbody>
   <!--rowsGoHere-->
   </tbody>
</table>

答案 1 :(得分:0)

所以我最终这样做了:

<table>

  <tr><th>Title</th><th>Author</th>
  <!--rowsGoHere-->

</table>

然后我可以将此注释标识为DOM元素,并使用insertBefore()插入我需要的内容。无论使用哪种html元素,这种方法都具有完全有效的优势(我可以在<table>以及<div><ul>内使用它。