我遇到了jQuery的问题。我需要复制一些代码,以便在其他地方追加。
我喜欢从中获取副本的来源是这样的:
<div id="copyCode" style="display: none">
<div class="ofPagedataTable">
<tr class="page copy">
<td class="id"><input type="text" /></td>
<td class="sprache"><input type="text" /></td>
<td class="description"><input type="text" /></td>
<td class="title"><input type="text" /></td>
<td class="keywords"><input type="text" /></td>
</tr>
</div>
</div>
我正在使用的jQuery是这样的:
$('.addPageToPagedata').click(function(){
html = $("#copyCode").children(".ofPagedataTable").html();
target = $('.pagedata tbody').children(':last');
$(html).appendTo(target);
});
它有点工作,但jQuery正在带走<tr>
和<td>
元素,它只是附加:
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<input type="text">
我不知道该怎么做。如果有人能给我一个如何解决这个问题的建议,那就太好了。
谢谢!
答案 0 :(得分:6)
我认为jQuery不会删除任何内容。你的HTML无效。您无法在此处添加td
和tr
。您的浏览器只会自行删除这些元素。
答案 1 :(得分:1)
尝试将tr
包裹在<table>
标记中,以使html有效。
答案 2 :(得分:1)
这不起作用,因为您的标记无效 - tr
只能位于table
标记内。当浏览器看到您的无效标记时,它会尝试自动修复它,因此它会删除您的所有tr
和td
元素。
答案 3 :(得分:1)
jquery正在基于标签tbody工作,但是你没有这里的表。没有表,tr和td s没有任何意义,因为基本上你正在尝试对列和行进行操作,当它们甚至不存在时。因此,将它们包装在一张桌子中。只有这样才能奏效。