jQuery将textarea值插入div而不影响子元素
我试图在 div .yes
内插入 textarea #ta
的 html 值,而不影响或删除具有类 .no
的子 div。目前,它正在删除 div 的所有内容,包括类 .no
的所有子元素。检查 jsfiddle http://jsfiddle.net/f2rPz/。
<div class="yes">test
<div class="no">no</div>
<div class="no">no</div>
</div>
<textarea id="ta"></textarea>
$('#ta').keyup(function() {
var x = $(this).val();
$('.yes').html(x)
})
I'm trying to insert the html value of textarea #ta
inside div .yes
without affecting or removing the children divs with class .no
. Currently it's removing all content of of the div including all children elements with class .no
. Check jsfiddle at http://jsfiddle.net/f2rPz/.
<div class="yes">test
<div class="no">no</div>
<div class="no">no</div>
</div>
<textarea id="ta"></textarea>
$('#ta').keyup(function() {
var x = $(this).val();
$('.yes').html(x)
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看我的版本,它将替换
"test"
文本,但保留.no
div。基本上可以归结为:您希望在 DOM 外部保留
.no
div 的副本,然后在替换.yes
的内容后重新附加它们。如果您不想影响所有子级,请将选择器替换为
'.yes > *'
只会选择所有直接子级。http://jsfiddle.net/3PA6H/1/
Check out my version which will replace the
"test"
text, but keep the.no
divs.Basically it boils down to: You want to keep a copy of the
.no
divs outside the DOM, then reattach them after replacing the content of.yes
.If you want to not affect all children, then replace the selector with
'.yes > *'
which will only select all the direct children.http://jsfiddle.net/3PA6H/1/
请改用 append 函数:
Use the append function instead:
将
html()
替换为append()
即可实现此目的。更新:这是显示结果的 jsFiddle 分支: http://jsfiddle.net/X7YQU/
Replacing
html()
withappend()
will do this.Update: Here is the jsFiddle fork showing the result: http://jsfiddle.net/X7YQU/