使用 jQuery 将 HTML 附加到父标记之外
append html outside of the parent tag using jquery
所以我有这个场景
<div id="editor" contenteditable="true">
<div id="list">Hello</div>
</div>
我想打电话
var html = $('<div id="replaced" contenteditable="false">Hello</div>');
$('#list').replaceWith(html);
问题是我希望输出是这样的:
<div id="editor" contenteditable="true">
<div id="replaced" contenteditable="false">Hello</div><br />
</div>
我尝试了以下方法,但没有奏效:(这是替换 tmp.mention 的div)
$('#'+tmp.mention).replaceWith(this).parent().after('<br />');
我想这样做是因为替换 tmp.mention 的div 在将内容可编辑设置为 true 的div 编辑器中将内容可编辑设置为 false。如果没有
则用户将无法在div 之后键入...
试试这个:
$('#'+tmp.mention).replaceWith($(this).parent()).after('<br />');
我认为你需要
var html = $('<div id="replaced" contenteditable=false>Hello</div>');
$('#list').replaceWith(html);
演示
但是如果你想整#editor
那么
var html = $('<div id="replaced" contenteditable=false>Hello</div>');
$('#list').parent().replaceWith(html);
演示
根据编辑
如果你想要输出这样的
<div id="editor" contenteditable="true">
<div id="replaced" contenteditable="false">Hello</div><br />
</div
然后尝试
var html = $('<div id="replaced" contenteditable=false>Hello</div>');
$('#list').replaceWith(html).after('</br>');
试试这个:
$('#list').replaceWith('<div id="replaced" contenteditable="false">Hello</div><br />')
相关文章:
- Jquery html() 和保留元素名称
- 函数jquery.html()不提供数据属性集值
- 如何逃离<脚本>jquery html()中的标记.我使用了innerHTML和outerHTML来解决这个
- 防止“;jQuery(html)"防止触发浏览器请求图像和其他参考内容
- 使用jquery.html()获取元素本身的html
- 在iframe的情况下,jQuery html()将失败
- 如何在使用jQuery.html()时防止javascript执行
- jquery.html有效,但是.add不行;t
- jQuery.html()方法语法
- jQuery.html()赢得't替换javascript图表
- 如何在Jquery html elemet属性中附加字符串变量
- 等效于 AngularJS 中的 jQuery html()
- jQuery .html('') 在 FF 和 Opera 中不起作用
- jquery html()编写函数以包含语义html元素
- jQuery Html负载剥离<表单>标签
- 用jQuery.html更新span内部html在IE中不起作用
- jquery html更新可以在电脑上使用,但不能在智能手机上使用
- 使用jQuery.html设置带有提交按钮的表单
- 将jquery HTML方法中的数据检索到数组中
- 来自对象的jQuery.html()返回未定义