2014-09-18 3 views
0

클릭 한 요소 또는 해당 부모 중 하나가 svg 태그인지 확인해야합니다. 너무 관대하기 때문에 closest() 셀렉터를 사용할 수 없습니다.jQuery 선택기를 단순화 하시겠습니까?

if (jClicked.is('svg') || jClicked.parent('svg').length > 0) { 

만 선택기를 사용하여 표현에서 OR 연산자를 드롭 할 수있는 방법이 있나요 : 내가 지금 무엇을 가지고

?

답변

3

요소의 콜렉션의 OR 작업을 수행 할 .is() 이후 .add()를 사용해보십시오 사용할 수 있습니다

if(jClicked.add(jClicked.parent()).is('svg')) 

그리고 왜이 컨텍스트에서 .closest()를 사용하는 것을 거부하는지 궁금합니다.이 경우 매우 효율적입니다.

if(jClicked.closest('svg').length) 
3

당신은 모두 jClicked 및 부모를 포함하는의 jQuery 개체를 만들 수 있습니다, 우리는, .is()

if(jClicked.parent().addBack().is('svg')) 
관련 문제