2012-08-02 4 views
1

jQuery에서 필터링이 어떻게 작동하는지 혼동합니다. 외관상으로는이 2 개의 선은 다르다 :JQuery를 사용하여 클래스 속성에 의한 필터링

$('svg').filter('.woah') 
$('svg[class=woah]') 

왜 이렇게입니까? 다음은 간단한 jsFiddle입니다. 위로 요리했습니다. http://jsfiddle.net/8MLRE/4/

+0

는'svg' 태그에 문제가있는 것 같습니다 달성하려는 생각합니다. 그들을'div's로 바꾸면 필터는 똑같이 작동합니다. – mVChr

+0

음, 'svg'에서 어떤 종류의 버그 또는 오작동처럼 보입니다. filter ('class = woah')'또는'$ ('svg.woah')'와 이것 역시'$ ('div')입니다. '어떤 이유로 인해'$ ('svg') filter ('. woah')' – elclanrs

+1

'.filter'가 SVG 요소와 제대로 작동하지 않는 것 같습니다. 또한보십시오 : http://stackoverflow.com/questions/7635073/how-to-make-jquerys-filter-function-work-correctly-for-svg-nodes –

답변

0

첫 번째 것은 포스트 필터 역할을 할 수 있습니다. 당신은 10 개의 요소를 가지고 있고 some_filter_here으로 떠날 생각입니다.

두 번째 것은 간단한 선택기입니다.

http://jsfiddle.net/8MLRE/10/

그래서, $('svg') 당신이 3 개 요소를 얻을 것이다, 다음 [class=woah] 같은 일부 선택기를 필터링하고 그래서 하나가 남아 있습니다. $('svg[class=woah]')을 사용하는 동안 즉시 하나를 얻습니다.

jQuery filter

0

첫 번째는 모든 svg 요소를 가져옵니다 필터 기능을 사용하여 필터링하고 클래스 woah이있는 사람들을 반환합니다. 이 기능은 한 번의 호출로 수행 할 수 있으므로 오버 헤드라고 생각합니다.

둘째는 동일하지만 특성 선택기를 사용합니다. 하나의 함수 호출 만 사용하면 마지막으로 더 좋습니다. 그러나 모든 svg 요소를 woah과 함께 사용하는 것이 더 좋은 방법입니다.

난 당신이 $('svg.woah')

관련 문제