2011-02-18 7 views
0

일치하는 셀렉터가 하나 존재하는지 검색하고 있습니다. 어느 것이 더 빠릅니까?어떤 선택자가 더 빠릅니까?

$('a[rel="something"]').first().length > 0) 

또는

$('a[rel="something"]').length > 0) 

감사합니다! 이 랩의 first() 요소 (찾는) 따기의 오버 헤드가 $('a[rel="something"]')를 설정하지 않기 때문에

+2

어떤 아이디어가 더 빠르지는 모르지만 첫 번째 아이디어는 확실히 중복됩니다. * anything *이 선택되었는지 여부를보고 싶다면, 체리로'first()'매치를 선택하는 것이별로 없습니다. – BoltClock

답변

6

$('a[rel="something"]').length > 0) 빨리해야한다.

$('a[rel="something"]')으로 하나의 요소를 타겟팅하는 경우 first()을 사용해야합니다.

+0

그게 내가 생각하고 있었던 것. 감사! 이론적으로는 .first()가 첫 번째 경기에서 DOM을 가로 지르는 것을 멈추게 할 것인가? –

+0

@Joel Crawford-Smith : 환영합니다. – Sarfraz

+0

말 그대로, 두 경우 모두 selector가 동일하기 때문에 selector는 똑같습니다 :'a [rel = "something"]'. 그 코드를 실행하는 데 필요한 시간을 요구하고 있다고 생각합니다. 왜냐하면'first'는 첫 번째 경우에 호출되어야하는 필터링 메서드이기 때문에 두 번째는 빠를 것입니다. 약간의 시간이 걸릴 것입니다. – singles

1

$('a[rel="something"]').length > 0)이 빠릅니다.

관련 문제