jquery 값 비교하기 질문드립니다. 채택완료
rlawhd
7년 전
조회 7,051
</p>
<p> </p>
<p> </p>
<p>function remove() {</p>
<p><div id="box">
<input id="text" type="text"></p>
<p></div></p>
<p><div class="meta">
<p id="code" class="code">1</p></p>
<p></div></p>
<p><div class="meta">
<p id="code" class="code">2</p></p>
<p></div></p>
<p>
var a = $("#box #text").val();
var b = $(".meta .code").val();
if( a == b){
$(".meta .code").remove();}
};</p>
<p>
input type="text"의 값을 받아서 var a에 저장하고
기존에 meta div로 되어있는 값을 찾아서 같으면 지우려고 하는데
var b를 찾으면 출력이 12로 나와버려서 text의 값과 매칭이 안됩니다.(1과 2가 그냥써져서 12)
어떤식으로 var a와 var b값을 비교하게 할 수 있을까요? (js문법 문제는 아닙니다)
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
7년 전
jQuery find 함수는 텍스트를 가져오는게 아닌, 찾는 함수입니다.
https://api.jquery.com/find/">https://api.jquery.com/find/
let a = jQuery('#box > #text').val();</p>
<p>jQuery('.meta > .code').each(function(){</p>
<p> if (jQuery(this).text() === a) {</p>
<p> jQuery(this).remove();</p>
<p> }</p>
<p>});</p>
<p>
text() 로 값을 가져와야 합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
r
rlawhd
7년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
each를 어떻게 쓰나 고민했는데 감사합니다
근데 마지막 jQuery(this).remove()를 하면
(<p id="code" class="code">2</p>) 부분만 삭제되는데
전 div까지 삭제하고 싶은데 전체범위를 잡아버리면( $(".meta > .code"))
1이든 2이든 상관없이 다 지워버리네요
방법이 있을까요?