Javascript 在没有自动关闭标记的元素前后插入内容
假设我有以下几点:Javascript 在没有自动关闭标记的元素前后插入内容,javascript,jquery,insert,tags,Javascript,Jquery,Insert,Tags,假设我有以下几点: <div id="content">content</div> 内容 我想在它前面插入一些内容**(注意未关闭的div)**: $(“#内容”)。之前(“内容前内容前内容”); 在**(请注意,我现在正在结束div)**之后还有一些: $(“#内容”)。之后(“post content post content”); 我期望的输出是: <div>pre-pre content</div> <div>
<div id="content">content</div>
内容
我想在它前面插入一些内容**(注意未关闭的div)**:
$(“#内容”)。之前(“内容前内容前内容”);
在**(请注意,我现在正在结束div)**之后还有一些:
$(“#内容”)。之后(“post content post content”);
我期望的输出是:
<div>pre-pre content</div>
<div>
pre-content <div id="content">content</div> post-content
</div>
<div>post-post content</div>
pre内容
前内容后内容
帖子内容
相反,我得到的是:
<div>pre-pre content</div>
<div>pre-content</div>
<div id="content">content</div>
<div>post-content</div>
<div>post-post content</div>
pre内容
预含量
内容
帖子内容
帖子内容
因为jQuery会自动“纠正”未关闭的标记
有没有一种方法可以使用.wrap()在元素前后添加不同的内容,而不自动关闭标记
注意,由于不相关的限制,我无法执行以下操作:
$("#content").html("<div>Content before " + $("#content).html() + " Content after</div>")
$(“#content”).html(“内容在“+$(“#content.html()+”内容在“+$”之前”)
不能插入部分或未关闭的标记。在DOM中插入元素只能插入整个元素
你的选择是:
.wrap()
方法,该方法为您执行#1中的选项。有关jQuery的.wrap()
的更多信息,请参阅好吧,这是有道理的,我不知道jQuery。我遇到的更具体的问题是,我的内容是一条嵌入的tweet,当我试图提取它并重新插入它时,它会变成空白:我想我实际上应该用这些细节打开另一个问题,但是如果你对修复有任何想法,请告诉我,作为记录,tweet-specific问题这是:
<div>pre-pre content</div>
<div>pre-content</div>
<div id="content">content</div>
<div>post-content</div>
<div>post-post content</div>
$("#content").html("<div>Content before " + $("#content).html() + " Content after</div>")