可以jQuery的只添加结束元素标记(标记)?(Can jquery add closing ele

2019-07-19 10:30发布

鉴于这种第n行的表,可以jQuery的只添加标记关闭表

        <tr class="eop">
            <td> 8/31 </td>
            <td> XYZ </td>
            <td> 2 </td>
            <td> 92.00 </td>
        </tr>

   </tbody>            --
</table>                 |
<table>                  --     //  inserted markup
   head jquery var       |
   <tbody>             --

我想要是使用:

$('tr.eop').append("</tbody></table><table>+head+<tbody>");   // head = table header

Answer 1:

所述DOM包含元素节点,开闭标签意味着什么一旦一个元素是DOM或DOM片段的一部分。

你不能附加元素没有关闭标签页。 如果省略结束标记,一个会为你创建。 您也无法通过附加关闭标签作为一个孩子关闭父元素,这将不是简单地创建父元素中一个新的完整的元素。

如果你想创建一个新表,创建新表。

var newTable = $("<table><thead>"+head+"</thead><tbody></tbody></table>");
$('tr.eop').closest("table").after(newTable)
$('tr.eop').nextAll().appendTo(newTable.find("tbody"));


Answer 2:

请试试这个。 看看它是否工作。

var tt = $('tr.eop');
tt.innerHTML = tt.innerHTML + '</tbody></table><table>'+head+'<tbody>';


Answer 3:

如果没有一个很好的做法,但它的工作原理(我不知道,如果它可以在某一时刻失败),看看这个例子:

http://jsfiddle.net/MKSqy/

但是我不知道你要完成,你可以很容易做到通过操纵DOM树类似的东西是什么。 或改变你正在构建的应用程序的方式,而是采用表使用的div,并创建一个隐藏的或当您想要的显示。

<div class="table">
    <div class="row">
        <div>8/31</div>
        <div> XYZ </div>
        <div> 2 </div>
        <div> 92.00 </div>
    </div>
    <div class="head" style="visible:none;"></div>
</div>

和操纵CSS创建表格样式。 我建议这只是对于刚刚情况,然而是有原因的table标签存在,你不应该的div的滥用。

编辑:我不很了解,所以这是你所需要的

http://jsfiddle.net/MKSqy/1/

这样做是基本上选择第n个元素之后的下一个元素,并创建一个表,并追加其旁边的preovious表。 所以你不要有处理关闭标签。



文章来源: Can jquery add closing element tags (markup) only?