在没有自动丢失标记的图元之前和之后插入内容
Insert Content Before and After an Element Without Autoclosing tags
假设我有以下内容:
<div id="content">content</div>
我想在它之前插入一些东西**(注意未关闭的div)**:
$("#content").before("<div>pre-pre-content</div><div>pre-content ");
**之后还有一些(注意,我现在正在关闭div)**:
$("#content").after(" post-content</div><div>post-post-content</div>");
我想要的输出是:
<div>pre-pre content</div>
<div>
pre-content <div id="content">content</div> post-content
</div>
<div>post-post content</div>
相反,我得到的是:
<div>pre-pre content</div>
<div>pre-content</div>
<div id="content">content</div>
<div>post-content</div>
<div>post-post content</div>
因为jQuery正在自动"更正"未关闭的标记。
小提琴
有没有一种方法可以使用.wrap()在元素前后添加不同的内容而不自动关闭标记?
注意,由于不相关的限制,我不能执行以下操作:
$("#content").html("<div>Content before " + $("#content).html() + " Content after</div>")
不能插入部分或未闭合的标记。在DOM中插入元素必须只插入整个元素。
您的选择是:
-
提取要包装在新元素中的元素,插入新的容器对象,然后将原始元素放入容器中。
-
直接操作父级的HTML(通常不推荐)。
-
使用jQuery
.wrap()
方法为您执行#1中的选项。有关jQuery的.wrap()
的更多信息,请参阅此处。
相关文章:
- 用直线连接图元
- 在多个图元(超过2个)上重复此操作
- 如果显示另一个折叠的图元,如何隐藏该图元
- 缩放仅适用于一个图元
- 从选择中排除图元
- 单击图元模拟Esc键
- 如果图元属于嵌套图元,请选择对其进行筛选的图元
- 主干:如何操作与视图关联的图元之外的图元
- 如何基于力沿弯曲路径移动图元
- 修改两个基于彼此的选择图元
- 在“视口”上更改“图元类型”
- 将挖空.js模型应用于多个图元
- 淡入视图中的图元,淡出视图时淡入淡出
- 使图元在从其中心拖动时调整大小
- 需要根据条件隐藏选定的图元
- 内联样式在替换图元时会导致问题
- 获取当前单击的相对于图元的坐标
- 选择不适用于动态创建的选择图元.总是选择最后一个选项
- 对两个单独的图元应用相同的切换
- 在没有自动丢失标记的图元之前和之后插入内容