2011-05-11 111 views
1

我試圖插入html值的文本區#ta內部div .yes而不影響或刪除類.no的子div。目前它正在刪除div的所有內容,包括類別爲.no的所有子元素。在http://jsfiddle.net/f2rPz/檢查jsfiddle。jQuery插入textarea值到div而不影響子元素

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

回答

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/

+0

這工作..謝謝 – Pinkie 2011-05-11 03:10:59

1

使用追加函數:

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

我不想追加。我想插入textarea的值替換div中的所有文本,但不刪除它的子元素 – Pinkie 2011-05-11 03:01:01

+0

@Pinkie:檢查我的答案,你想要什麼。 – 2011-05-11 03:07:04

相關問題