Program Tip

jQuery의 부모에서 모든 자식 (모든 수준)을 선택하는 방법은 무엇입니까?

programtip 2020. 11. 7. 10:26
반응형

jQuery의 부모에서 모든 자식 (모든 수준)을 선택하는 방법은 무엇입니까?


나는에있는 .unbind()부모 노드의 모든 요소.

부모로부터 모든 자식 (모든 수준)을 어떻게 선택할 수 있습니까?

시도 :

$('#google_translate_element *').unbind('click');

하지만 첫 번째 어린이 수준에서만 작동합니다 ...

여기 에 테스트 케이스가 있습니다


jQuery.find ()사용 하여 한 수준 이상의 자식을 찾습니다 .

.find () 및 .children () 메서드는 유사하지만 후자는 DOM 트리 아래로 단일 수준 만 이동합니다.

$('#google_translate_element').find('*').unbind('click');

당신은 필요 '*'에를 find():

나머지 트리 순회 메서드와 달리 .find () 호출에는 선택기식이 필요합니다. 모든 하위 요소를 검색해야하는 경우 범용 선택기 '*'를 전달하여이를 수행 할 수 있습니다.


나는 당신이 할 수 있다고 생각합니다.

$('#google_translate_element').find('*').each(function(){
    $(this).unbind('click');
});

하지만 많은 오버 헤드가 발생합니다


원래 테스트 케이스가 잘못된 것 같습니다.

선택기가에서 #my_parent_element *작동 하는지 확인할 수 있습니다 unbind().

다음 html을 예로 들어 보겠습니다.

<div id="#my_parent_element">
  <div class="div1">
    <div class="div2">hello</div>
    <div class="div3">my</div>
  </div>
  <div class="div4">name</div>
  <div class="div5">
    <div class="div6">is</div>
    <div class="div7">
      <div class="div8">marco</div>
      <div class="div9">(try and click on any word)!</div>
    </div>
  </div>
</div>
<button class="unbind">Now, click me and try again</button>

그리고 jquery 비트 :

$('.div1,.div2,.div3,.div4,.div5,.div6,.div7,.div8,.div9').click(function() {
  alert('hi!');
})
$('button.unbind').click(function() {
  $('#my_parent_element *').unbind('click');
})

여기에서 시도해 볼 수 있습니다 : http://jsfiddle.net/fLvwbazk/7/

참고 URL : https://stackoverflow.com/questions/7648761/how-to-select-all-children-in-any-level-from-a-parent-in-jquery

반응형