2011-05-11 6 views
1

#ta div의 텍스트 값을 div .yes 안에 넣으려는 시도는 자식 클래스 div에 영향을 미치거나 제거하지 않고 .no 클래스입니다. 현재 그것은 클래스 .no의 모든 children 요소를 포함하여 div의 모든 내용을 제거합니다. jsfiddle을 http://jsfiddle.net/f2rPz/으로 확인하십시오.jQuery는 자식 요소에 영향을주지 않고 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 계속됩니다 여기에 결과를 보여주는 jsFiddle 포크입니다 divs.

기본적으로 다음과 같습니다. .no div를 DOM 외부에 보관하고 .yes 내용을 바꾼 다음 다시 첨부하려고합니다. 당신이 모든 아이들에 영향을 미치지 만 모든 직접 아이를 선택합니다 '.yes > *'와 선택기를 대체하지하려면

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

.

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

+0

그게 .. 작동합니다 감사합니다 Logged – Pinkie

1

사용하는 대신 APPEND 기능 :

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

나는 추가하고 싶지 않습니다. div 안에있는 모든 텍스트를 바꾸고 text 요소의 값을 삽입하려고합니다. 그러나 아이들 요소는 제거하지 않습니다. – Pinkie

+0

@Pinkie : 원하는 답변을 확인하십시오. –

관련 문제