질문Q #12919
$(this).closest('li'); 이게 이해하는게 너무 어렵네요 ㅠ,ㅠ
amkorjquery2016-02-14 18:35:25
<div style="float:right;">
	<input type="text" id="buy_count_0" value="1"class="simpleform" onkeyup="함수.countBuy('keyup',this)" onblur="함수.countBuy('blur',this)">
	<div>
	   <a style="display:block" onclick="함수.countBuy('up',this)"><img src="/template/shop/images/arrow_up.gif"></a>  // countBuy 함수 동작을 위해 클릭한다!
	</div> 
<span>개 <span class="option_price"><span id="price_item">{=number_format(goods.price_sell)}</span>원</span></span>
</div>
 
<script type="text/javascript">
countBuy = fucntion(mode , this){ 
var li = $(this).closest('li');  // 여기서 나오는 제이쿼리 closest 뜻을 알고 싶습니다.
	var input = li.find('input');
 
	var cnt = input.val();
 
}
</script>

 

 

 

onclick을 하게되면 자바스크립트 countBuy함수에서 this을 받아올텐데요 

 

그런데 여기서 제이쿼리 closest을 이용해요 li태그 이것을 찾는 의미 인가요?

 

찾더라도 받아온 this는 a태그밖에 못가져올텐데요...

 

왜 li라고 적혀져 있는지 모르겠습니다 ㅠ,ㅠ

 

제이쿼리 closest 역활을 알기 쉽게 알고 싶네요 ㅠ,ㅠ 인터넷 뒤져봐도 이해가 안되서 이렇게

 

글로 문의 드립니다.

 

부탁드립니다 ㅠ,ㅠ$(this).closest('li'); 이게 이해하는게 너무 어렵네요 ㅠ,ㅠ

 

 

답변6
#1 변종원(웅파) 2016-02-15 11:45:07

참고하세요.

http://ismydream.tistory.com/94

#2 한대승(불의회상) 2016-02-15 16:03:54

@웅파 좋은 정보 감사 합니다.

@amkorjquery 덕분에 좋은 정보를 알게 되었네요. ^^

#3 테러보이 2016-02-15 22:09:08
간단 하게 말씀드리면 지정 엘리먼트기준으로 가장가까운 부모 엘리먼트를 찾아주는 기능입니다. 비슷한것으로는 parent()가 있지만 parent()의 경우 바로 윗부모만 찾아줍니다. 비유하자면 parent는 아빠, 엄마를 찾아주지만 closest()는 조상님을 찾아준다고 해야할까나...
#4 테러보이 2016-02-15 22:14:19
div.an>div.pa>div.me 와 같은 구조가 있다면 parent의 경우 div.an을 찾기 위해 $('.me').parent().parent() 이렇게찾아야지만.. closest의 경우 $('.me').closest('div.an') 이렇게 간단하게 찾습니다. 구조가 복잡해지면 closest가 직접적인 효력을 발휘합니다. ps. 모바일이라 타이핑이 힘드네요 ㅎㅎ
#5 풉 2016-02-17 13:17:00
비슷한 명령으로 parents가 있습니다. parent는 바로 상위를 선택하지만 parents('li')하게 되면 closest와 동일한 작업을 합니다.
#6 테러보이 2016-02-17 20:36:52

@풉

오! 저는 오늘 처음 알았습니다.!

좋은 정보 감사합니다 ㅎㅎㅎㅎ