$ (this) 선택기에서 img를 "선택"하려고합니다. .find('img')
을 사용하여 찾을 수 있다는 것을 알고 있지만 가능합니다 :
$("img",this)
?
이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 완벽한 합리적 방법의 그 일을 그건 원래 코드
<a class="picture" href="test.html">
<img src="picture.jpg" alt="awesome">
</a>
$ (this) 선택기에서 img를 "선택"하려고합니다. .find('img')
을 사용하여 찾을 수 있다는 것을 알고 있지만 가능합니다 :
$("img",this)
?
이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 완벽한 합리적 방법의 그 일을 그건 원래 코드
<a class="picture" href="test.html">
<img src="picture.jpg" alt="awesome">
</a>
이 작업을 수행 할 수있는 가장 최적의 방법은 무엇입니까?
$(this).find('img')
및 $('img', this)
은 모두 동일합니다. 워드 프로세서
:
내부적 선택기 컨텍스트 (이 '범위')를 .find() 메소드 너무 $ 구현 $ (이) .find ('범위에 해당되고 ').
.
그래서 당신이 할 것 같은 :$('a').click(function() {
//if the element dosent change you can use this
//var src = $('img', this).attr('src');
//else use $(this)
var src = $('img', $(this)).attr('src');
alert(src);
return false;
});
참조 : http://jsfiddle.net/xYmwV/
두 가지 방법으로 당신이 DOM 요소를로드하고 검색하기 때문에 정말 차이가 없다. 귀하의 방법을 "청소기"간단하지만, 더 혼란스러워 할 수도 있습니다 :)
더 빠른 방법은 $(this).children()
이후 would'nt 이후 요소를 검색 할 수 있지만 DOM에서 직접 downwords갑니다. 그러나 그것은 스크립트의 유연성을 필요로합니다.
은 때때로 당신은'$를 추가해야 (this)'대신'this '를 사용하지만 기본적으로 그렇게하는 방법입니다. 1 : – Phoenix
@Phoenix 참으로 그것은 당신이 그것을 검색 할 때 요소를 호출하는 의미가 있습니다. 일반적으로 전화를 걸 필요가없는 이유를 절대로 이해하지 못합니까? : 당신이/DOM을 밖으로 이동하는 경우/ –
가 될 것으로 보인다'this' 어디'$로 변경 될 수 있습니다 ('이') '하지 않습니다. http://remysharp.com/2007/04/12/jquerys-this-demystified/ –
.find('img')
을 사용할 수없는 이유는 무엇입니까? 그것은 나에게 작동합니다 http://jsfiddle.net/nnmEY/
가 나는 $ (이) 선택 내부 IMG를 "선택"하는 것을 시도하고있다.
var myImg = $(this).find("img");
예 어쨌든 그들은 동등한 것 ... 그렇게 할 수 있습니다, 그래서 당신의 '구문의 취향'의 문제이다 :
이내부적으로 선택 컨텍스트가 구현된다 .find() 메소드 $ ('span', this)는 $ (this) .find ('span')와 동일합니다.
그것은 정말 문제가, 당신이 선호하는 중 선택하지 않습니다, 그것은 주로 문체 선택입니다.이론적으로 find
형태가 약간 그래서
jQuery를이 내부적으로 $(context).find(selector)
또는 (context
이 jQuery를 인스턴스가 이미 켜져있는 경우) context.find(selector)
을 수행하여 양식 $(selector, context)
을 처리보다 효율적으로하지만, 정말 가능성이 높습니다 어떤 식 으로든 신경 쓰다.
두 가지 방법이 동일하게 작동합니다. 두 가지 중 어느 것을 "최적"이라고 부르는 것이 중요하다고 생각하지 않습니다. 그들이 조금 빠른 상황보다는()는 같은,하지만 .find, http://jsperf.com/jqslctrtst – Jon
은 BTW, 당신은 항상 과학을 사용할 수 있습니다. http://jsperf.com/jquery-context-find-and-children-selectors/6 http://jsperf.com/jquery-find-vs-context-2/2 –
진정한 : – rucsi