有没有办法用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>");
答案 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,但是浏览器只是将它解释为一个小树并将其连接到大树。
事实上,你追加的任何东西本身也必须是有效的。结束标记本身无效。
要完成您的意图,请创建第二个表格并将您的行移至该表格。