와 JQuery와 선택의 범위를 제한?예를 들어, 반복, 중첩 된 요소 구조를 감안할 때 중첩 반복 요소 구조
피곤 :
div.A > class.B
...하지만 (올바르게)이 또한 루트 <div class="A"></div>
요소의 직접적인 자식이 아닌 마지막 요소와 일치합니다.
와 JQuery와 선택의 범위를 제한?예를 들어, 반복, 중첩 된 요소 구조를 감안할 때 중첩 반복 요소 구조
피곤 :
div.A > class.B
...하지만 (올바르게)이 또한 루트 <div class="A"></div>
요소의 직접적인 자식이 아닌 마지막 요소와 일치합니다.
당신도 할 수 중첩 검색을 쉽게하기 위해 일부 ID, 클래스, 또는 데이터 수준의 개체를 추가하거나이 약간 hackish 버전을 할 수있는 : 나는 데이터를 추가 제안 할
$('div.A').first().children('span.B').last();
을 수준을 처리하는 수준, ID 또는 다른 클래스.
예를 들어, 귀하의 HTML을 변경
<div class="A" data-level="first">
<span class="B" data-level="second"></span>
<span class="B" data-level="second"></span>
<span class="B" data-level="second">
<div class="A" data-level="third">
<span class="B" data-level="fourth"></span>
</div>
</span>
</div>
당신은 같은 일을 수행 할 수 있습니다
$('span.B[data-level="second"]').last();
등
jQuery를이 :last
선택이있다. 어떤 개체를 선택하려고하는지 아직 명확하지 않습니다.
1) 루트를 식별 클래스 보내기 :
<div class="A root">
<span class="B></span>
<span class="B></span>
<span class="B">
<div class="A">
<span class="B"></span>
</div>
</span>
</div>
그리고이 셀렉터를 루트 <div class="A">
의 직접적인 자식 인 지난 <span class="B"></span>
를 원하는 경우
는, 당신은 이러한 옵션이 있습니다 :
A.root > .B:last
2)를 식별 할 루트 개체의 부모를 지정
body > .A > .B:last
3) 루트 개체 식별하는 몇 가지 코드를 사용
$(".A").filter(function() {
// filter out items that have an "A" class as a parent
return($(this).parents(".A").length == 0);
}).children(".B:last");
문제는 패턴 반복입니다. 재귀 함수 호출로 생성됩니다. 루트 요소에 고유 한 것을 추가 할 수 없습니다. – Jack
@ 잭 - 아마도 당신이 뭘하려고하는지 이해하지 못할 수도 있습니다. 나는 당신이 최상위 수준 "A"요소의 직접적인 하위 요소 인 마지막 B 요소를 원한다고 생각했습니다. 그렇게하기 위해서, 어떻게 든 최상위 레벨 "A"요소를 식별해야합니다. 내 새로운 옵션 3)은 코드를 사용하여 식별합니다. 당신이 다른 것을하려고한다면, 특별히 명확하지 않기 때문에 당신이하려고하는 것을 더 설명하십시오. – jfriend00
데이터 수준으로 당신은 내가''요소가있는 허용 된 기존 속성을 사용하고의 깊이를 저장하는 데 사용한다는 의미 할 ''요소? 예를 들어'title' 속성에? ID는 고유해야하므로 실제로 ID를 추가 할 수는 없습니다. – Jack
내 편집을 참조하십시오. 귀하의 html이 너무 약간 수정되었습니다 내가 그걸도 – Evan
은 허용 된 속성'데이터 수준'고쳐? – Jack