programing

jQuery 함수로 직접 자식 요소만 가져오는 방법

abcjava 2023. 8. 19. 09:41
반응형

jQuery 함수로 직접 자식 요소만 가져오는 방법

테이블 구조는 다음과 같습니다.

<table1>
  <tbody>
    <tr>
      <td></td>
        ...
      <td>
        <table2>
          <tbody>
            <tr>
              <td></td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
   </tbody>
  </table>

자바스크립트에서, 나는 변수를 가지고 있습니다.tbl…의 가치가 있는$(table1)그리고 나서 나는 모든 직접적인 자식 요소(tr)를 얻고 싶습니다.<tbody>table1내 코드는:

$('tr', tb1)

보아하니 그것은 모든 것을 돌려줍니다.<tr>표 1 및 표 2의 요소.그럭저럭 살아갈 수 있을 것 같습니다.

$('tr', tb1).not(function(){return $(this).parent().parent()[0] != tb1;})

또는 이런 종류의 논리.

알고있어요$('table1 > tbody > tr')직접 아이를 가질 수 있습니다.tr유감스럽게도 저는 이것을 사용할 수 없습니다.

이 일에 대해 좋은 생각나는 사람?

감사해요.

다음을 사용할 수 있습니다.

tbl.find("> tbody > tr")

@jave처럼.댓글에 언급된 웹

요소 사용의 직접 하위 항목을 검색하는 방법.children()그것은 직접적인 아이들을 통해서만 검색할 것이고 더 이상 더 깊은 곳을 통과하지 않을 것입니다.http://api.jquery.com/children/

이것이 바로 중첩 테이블을 조심해야 하는 이유입니다.나는 당신이 페이지 레이아웃이 아닌 데이터를 위해 그것들을 사용하기를 정말 바랍니다.

아마도 여러분의 하루를 망칠 또 다른 문제는 중첩된 테이블에서 CSS 선택기를 사용하는 것입니다.기본적으로 동일한 문제가 있습니다. 내부 테이블 내부의 TR 요소를 선택하지 않으면 외부 테이블의 TR 요소를 선택할 수 없습니다. (IE6에서 구현되지 않았기 때문에 하위 셀렉터를 사용할 수 없습니다.)

이렇게 하면 됩니다.

$("#table1 > tbody > tr")

그러나 TBODY 요소를 생성하는 데 브라우저에 의존해서는 안 되기 때문에 하드 코딩을 하는 것이 좋습니다.

http://api.jquery.com/child-selector/

$('tb1 > tr')

두 요소의 ID가 있고 직접 요소를 찾으려면 아래 코드를 사용하십시오.

$("#parent > #two")

중첩된 검색을 원하는 경우 찾을 수 있습니다.여기에 자세히 설명되어 있습니다.https://handyopinion.com/jquery-selector-find-nested-child-elements/

언급URL : https://stackoverflow.com/questions/3687637/how-to-get-only-direct-child-elements-by-jquery-function

반응형