我有一个HTML代码
<span id="s">Attachments</span>
如何使用jQuery将外部SPAN元素与以下表格代码块交换,使"Attachments"文本被包装在表格元素中。
<table id="t">
<tr>
<td>Attachments</td>
</tr>
</table>
我有一个HTML代码
<span id="s">Attachments</span>
<table id="t">
<tr>
<td>Attachments</td>
</tr>
</table>
$("<table id='t'><tr><td>" + $("#s").html() +
"</td></tr></table").insertAfter("#s");
$("#s").remove();
我假设你所说的“swipe”是指“交换”,因此我已经删除了原始的标签。如果不是这种情况,只需省略remove
调用即可。
将#s
元素包裹起来,然后用它自己的内容替换它:
$("#s")
.wrap("<table id='t'><tr><td></td></tr></table>")
.replaceWith(function(){
return this.innerHTML;
});
演示: http://jsbin.com/elotan/edit#source
在下面的评论中进一步讨论后,看起来OP希望能够临时创建一个表,并在其中的任何一个中插入#s
。以下是更好的方法:
$("<table>", {
id:'t', html:'<tr><td>Foo</td><td>' + $("#s").html() + '</td></tr>'
}).replaceAll("#s");
#s
的未包装文本分配为第二个 tr
/td
的值。 - Sampson