어떻게 DOM에서 요소를 가져 옵니까?jQuery Dom numbers
답변
나는 당신이 보편적 인 선택기 *을 찾고있는 것 같아요
//retrieve the index
$('*').index($('button'));
//access the element by index
$('*:eq('+index+')');
이게 내가 뭘 찾고있는 것 같아! DOM에서 많은 노드가있는 더 큰 페이지에서 실행할 수있을만큼 효율적입니까? – Rila
내 생각에 중요한 문제는 인덱스가 요소를 식별하는 좋은 해결책이 아니라는 사실입니다. DOM이 변경 될 수 있습니다. 노드가 삽입되거나 제거 될 때 색인은 다른 요소와 일치합니다. 사용자는 DOM을 독자적으로 변경할 수도 있습니다. Greasemonkey-scripts 또는 이와 유사한 것을 사용하여, 이렇게 할 것을 제안하지 않을 것입니다. –
@Rila 전혀 효율적이지 않습니다. ID 또는 클래스를 사용하십시오. 선택자를 작성하기위한 것입니다. – kapa
그냥 고유 다음, DOM의 요소를 식별하고 미래에 다시 같은 DOM 요소에 얻을 수 있도록하려면 요소에 대한 참조를 직접 저장하면됩니다. 문서의 시작 부분부터 계산되는 홀수 선택기를 통해 요소를 가져올 필요가 없습니다. 실제 요소에 대한 참조를 저장할 수 있습니다. 예 :
var lastClickedItem;
$("div").click(function() {
if (lastClickedItem) {
$(lastClickedItem).removeClass("clicked");
// do other things to the last clicked item
}
$(this).addClass("clicked");
lastClickedItem = this;
});
이 코드는 lastClickedItem을 전역 변수에 저장합니다. 그것을 전역 변수에 저장하지 않아도됩니다. 고유 한 ID 또는 클래스 이름을 지정하고이를 사용하여 지정된 요소를 검색 할 수 있습니다. 동일한 요소로 돌아 가기 위해 DOM 앞에서 계산하면 꽤 비효율적 인 것처럼 보입니다.
또는 고유 클래스 이름 사용 :
$("div").click(function() {
$(".lastClick").removeClass("lastClick");
$(this).addClass("lastClick");
});
불행히도 내 유스 케이스가 좀 괴팍하다. 페이지가 다른 시간에 다른 브라우저에로드 될 때 DOM 요소를 식별 할 수 있어야합니다. 그래서 문제는 어떻게 ** 요소 **에 대한 고유 한 참조를 저장할 수 있습니다. 나의 유스 케이스는 요소를 유일하게 찾아서 수정해야하는 A/B 테스트 도구와 비슷하다. 당신의 지속적인 도움을 많이 주셔서 감사합니다! – Rila
나는 포기한다. 우리는 많은 일을하고 있으며, 지금 당신이 정말로하려는 일에 대해서만 설명합니다. 문서를 수정할 수 없으며 요소 참조를 저장할 수 없으면 비효율적 인 메커니즘을 사용하십시오. DOM 변경에 대해 취성이 될 것입니다. 그래도 케이크를 가지고 여기 먹을 수 있다고 생각하지 않습니다. – jfriend00
네 말이 맞아, 나는 더 명확하게 내 의도를 설명 했어야했다. 어쨌든 선생님 께 도움을 주셔서 감사합니다. 매우 감사드립니다. – Rila
- 1. Jquery flots and week numbers
- 2. JSON numbers 정규식
- 3. jquery traversing dom
- 4. jquery-dom 조작
- 5. DOM, Jquery 및 Accordions
- 6. jquery sort dom 요소
- 7. jQuery DOM 요소 추가
- 8. jquery - DOM traversal question
- 9. jQuery DOM Traversal의 해설
- 10. jQuery DOM 선택기 문제
- 11. HTML : jQuery : DOM 조작
- 12. jQuery .get() DOM weirdness
- 13. clear DOM jquery
- 14. jQuery DOM 구현
- 15. jquery dom navigation
- 16. dom 요소의 jquery 편집기
- 17. jQuery Mouseover DOM
- 18. jQuery DOM 조작을위한 jQuery 객체로 문자열 사용
- 19. Access 2000 - Editor & Line numbers?
- 20. Java 라이브러리 eigenvalues float numbers
- 21. 파일에서 C++ cin unspaced numbers
- 22. Java sum 2 negative numbers
- 23. iOS에서 iWork Numbers 파일 생성
- 24. jQuery 전체 DOM 구조 만들기
- 25. dom 요소에 jquery 플러그인 적용
- 26. DOM 요소 생성시 JQuery fadeIn()?
- 27. jQuery AJAX - DOM 요소 만들기
- 28. JQuery DOM 생성/처리 문제
- 29. JQuery ajax 및 dom issue
- 30. (DOM 대신) 문자열로 JQuery 사용
는 "이 DOM 루트에 대한 요소의 인덱스"무슨 뜻입니까? 좀 더 설명해 주시겠습니까? – kapa
수를 세는 방법을 설명해야합니다. DOM은 순차가 아니라 계층 적입니다. 부모 + 이전 형제 또는 이전 형제 + 부모 + 부모의 이전 형제 + 부모 부모 + 부모 부모의 이전 형제 자매 등을 원하십니까? – jfriend00
이 예제에서 "test"요소의 색인은 무엇입니까? http://jsfiddle.net/jfriend00/LsfQs/ – jfriend00