다른 특정 요소의 하위 항목이 아닌 하나 이상의 요소를 선택하려고합니다. 예에서 다른 특정 요소 외부의 요소 선택
<html>
<body>
<div>
<p>
<b>
<i> don't select me </i>
</b>
</p>
</div>
<div>
<i>don't select me either </i>
</div>
<i> select me </i>
<b>
<i> select me too </i>
</b>
</body>
</html>
내가 DIV 요소 내부 하지을 모두 'I'요소를 선택하려면 위의
. 다른 방법은 ('div i')를 사용하면 쉽지만 not :()를 사용하면 쉽습니다.div 요소 외부의 모든 i 요소를 어떻게 선택합니까? 는 종종 그것은 같은 것 jQuery를 사용, 제안 : 내가 jQuery를 사용할 수 없습니다
nondiv_i = all_i.not(all_div.find("i"))
,하지만 jqLite을 사용할 수 있습니다 - 기능 - jqLite는하지()를 가지고 있지 않습니다. jqLite 솔루션도 환영합니다! 반복 및 비교를 반복하지 않고도이 작업을 수행 할 수 있습니까?
편집 : 분명히하기 위해, 나는 직접적인 div-parents가 아닌 i-element를위한 div-ancestor를 갖고 싶지 않습니다.
대등 한 XPath는 다음과 같을 것이다 :
//i[not(ancestor::div)]
'document.querySelectorAll ('몸 :하지 (DIV) 내가')
당신은 다음 인덱스를 얻을 수있는' – putvande
@ OP가 희망적으로 그것을 수락 할 수 있도록 귀하의 의견을 답변으로 추가하십시오. – JeffC
이 답변은 작동하지 않았습니다. 그것은 을 반환합니다 나를 선택하지 마십시오과 도 나를 선택하십시오. 그것에 대해 생각할 때 (몸을 선택하고 div가 아닌 모든 요소를 선택한 다음 i- 요소를 가져 오는 것) 좋은 생각이지만 작동하지 않습니다 (내 문제가 처음부터 발생하는 곳입니다). 나중에이 프로젝트를 제쳐두고이 질문을 포기하지 않았습니다. :) 아직도 대답을 찾고. – Peter1807