用jQuery关闭TABLE标签

时间:2010-08-02 02:34:46

标签: jquery html

有没有办法用jQuery关闭html标签?

喜欢:

<table>
  <tr id="tr1">
    <td>
      hello world!
    </td>
  </tr>
  <tr id="tr2">
    <td>
      hello world again!
    </td>
  </tr>
</table>

js code:

$("#tr1").after("</table><table><tr><td>another table</td></tr></table><table>");

2 个答案:

答案 0 :(得分:1)

你需要做这样的事情:

$("#tr1").nextAll().remove();
$("table").after("<table><tr><td>another table</td></tr></table><table>");

You can give it a try here.append()旨在附加完整元素,这将删除第一个元素之后的所有行(.nextAll()然后.remove()),然后在已存在的表之后附加新表。

通常.nextAll().remove()将删除所有后续兄弟姐妹,因此这应该有效与关闭后面的父标记相同。它还清理任何事件处理程序/数据。

答案 1 :(得分:0)

不,你不能。 JQuery直接影响与html相关的dom,但不是你期望它的方式。

当然,你可以完成你尝试做的不同的事情,但你所建议的不会飞。

在渲染时,您的浏览器会将html代码转换为名为dom(文档对象模型)的树结构。 JQuery基本上和那棵树一起玩。你仍然可以附加html,但是浏览器只是将它解释为一个小树并将其连接到大树。

事实上,你追加的任何东西本身也必须是有效的。结束标记本身无效。

要完成您的意图,请创建第二个表格并将您的行移至该表格。