jQuery将textarea值插入div而不影响子元素

时间:2011-05-11 02:54:39

标签: jquery textarea children

我正在尝试在div #ta中插入textarea .yes的html值,而不会影响或删除类.no的子div。目前它正在删除div的所有内容,包括具有类.no的所有子元素。在http://jsfiddle.net/f2rPz/检查jsfiddle。

<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)
})

3 个答案:

答案 0 :(得分:2)

查看我的版本,该版本将替换"test"文字,但保留.no div。

基本上归结为:你想在DOM之外保留.no div的副本,然后在替换.yes的内容后重新附加它们。

$('#ta').keyup(function() {
    var no = $('.yes > .no').remove();
    var x = $(this).val();
    $('.yes').html(x).append(no);
});

如果您不想影响所有孩子,请将选择器替换为'.yes > *',只会选择所有直接子女。

http://jsfiddle.net/3PA6H/1/

答案 1 :(得分:1)

改为使用追加功能:

$('#ta').keyup(function() {
    var x = $(this).val();
    $('.yes').append(x)
})

答案 2 :(得分:-1)

html()替换append()即可。

更新:这是显示结果的jsFiddle分支:http://jsfiddle.net/X7YQU/