2012-08-29 3 views
0

가능한 중복 (jQuery를에) :
jQuery single selector vs .find()차이 (아동)

는 $ (부모 사이에 어떤 차이가 있나요 자식) 및 $ (부모) .find (자식) jQuery? 에 걸쳐 모든 아이들을 반환합니다

$("div").find("span") :

당신과 같은 여러 아이를 가질 수 있습니다. 하지만 $("div span")과 동일하지 않습니까?

+0

다른 게시물은 성능상의 차이점 만 설명하므로 중복되는 이유는 무엇입니까? – BornToCode

답변

5

매우 중요한 차이점은 $은 여러 가지 의미로 오버로드되어 결과적으로 사용자 정의 문자열과 함께 사용될 때 취약하다는 것입니다. find은 그렇지 않습니다.

E. g.

$('.items .'+location.hash.substr(1)) // very bad idea 
$('.items').find('.'+location.hash.substr(1)) // this is OK 
+1

재미 있습니다. 이 취약점에 대해 자세히 설명해 주시겠습니까? 예제가있을 수 있습니까? 우리는 코드에서 첫 번째 구문을 몇 번 사용하고 있으며 이러한 취약점에 관심이 있습니다. – Nope

+1

+1 @ FrançoisWahl. 나는 스타일 상으로'$ ('. + location.hash.substr (1),'.items ')를 선호하지만 어떤 종류의 취약점이 있다고 상상하기 어려울지라도 – BLSully

+3

http : //jsfiddle.net/DF9w2/ – Tgr