parentsUntil()은 id가있는 첫 번째 요소 바로 뒤에 멈출 수 있나요? 예를 들어 li을 클릭하면 li ul div#id-found
이 반환됩니다. 당신은 같은 페이지에 같은 ID를 가진 두 개의 요소를 가질 수 없습니다 http://jsfiddle.net/T9gBu/jQuery parentsUntil() id를 찾았습니다
3
A
답변
3
이 당신이 원하는 것을 얻을 수있는 가장 좋은 방법입니다 :
var $t = $(this), $p = $t.parentsUntil('[id]')
$p = $t.add($t.closest('*[id]').add($p));
지금 $p
요소의 위쪽 흔적이 매핑에 가입 할 수있다 등 여기
바이올린에도 몇 가지 문제가있었습니다. 내가 정확하게 당신이 필요로하는 것을 이해한다면, 매퍼에 직접 문자열 건물을 처리하는 것이 가장 효율적입니다 :이 답변이 jfaron 코멘트를 기반으로 업데이트되었습니다
var selector =
$p.map(function() {
var $t = $(this),
id = $t.attr('id'),
tag = $t.prop("tagName"),
cls = $t.attr("class");
if (cls) {
cls = "." + $.trim(cls).replace(/\s/gi, ".");
} else
cls = '';
return tag + (id ? '#'+id : '') + cls;
}).get().reverse().join(" ");
업데이트.
0
:
<div id="id-found">
<ul>
<li></li>
</ul>
</div>
여기에 예를 들어 JS 바이올린 (즉,이 예보다 약간 더 고급의)입니다. 이것이 HTML의 기본 규칙입니다. 요소의 조상에 고유 ID가 있으면 .closest()를 사용하여 원하는 ID를 선택할 수 있습니다.
관련 문제
- 1. jQuery를 선택 parentsUntil
- 2. 클릭 한 요소를 찾았습니다
- 3. 전체 HTML 블록을 제거하기 위해 Jquery parentsUntil()을 얻는 방법
- 4. parentsUntil()이 가장 좋은 함수인가요? jQuery를
- 5. Href를 찾았습니다.
- 6. ID를 기반으로 jQuery removeClass?
- 7. JQuery 템플릿은 ID를 할당해야합니다
- 8. jquery`$ (this)`id를 얻으시오
- 9. 302가 응답을 찾았습니다.
- 10. SQL에서 비슷한 키워드를 찾았습니다
- 11. 전체 라인 $ nick을 찾았습니다.
- 12. 자원 할당 알고리즘을 찾았습니다.
- 13. 수정 라인을 찾았습니다. 제거했습니다.
- 14. 선택한 행을 찾았습니다
- 15. 몽고범이 잘못된 문서를 찾았습니다.
- 16. 프로그래밍 연습 온라인에서 찾았습니다
- 17. dojo에서 ajax 요청을 찾았습니다.
- 18. Jenkins는 설치된 플러그인을 찾았습니다
- 19. 피연산자가 누락되었습니다. 찾았습니다 END
- 20. 루비로 json 오류를 찾았습니다
- 21. DAT 회사 만 찾았습니다
- 22. MAX (db_timestamp) 쿼리를 찾았습니다
- 23. 스칼라 오류 : '='예상되지만 ';' 찾았습니다
- 24. CakePHP에서 "contains"를 찾았습니다
- 25. tcp 버전을 찾았습니다
- 26. 원하지 않는 토큰을 찾았습니다.
- 27. 브라우저를 찾았습니다. HTTP_USER_AGENT를 사용합니다.
- 28. Fancybox에는 jQuery 1.3+이 필요하며 1.2.6을 찾았습니다. drupal의 오류
- 29. 페이징이 작동하지 않고 어쩌면 원인을 찾았습니다.
- 30. jquery fitvids() dynamic id를 타겟팅합니다.
이것은 작동합니다! 내가 필요로하는 또 다른 유일한 일은 div로 ID를 포함하는 것입니다 (이 메소드는 ID가 아닌 태그 만 반환 함). 그래서 지금 그걸 실험하고 있습니다. 그렇게하는 법을 알고 있다면 그것은 매우 도움이 될 것입니다. :) –
실수로 아이디가있는 부모를 포함하려면 'closest'를 사용해야합니다. 내 대답을 업데이트하여 코드를 조금 개선했습니다. –
클릭 한 요소가 포함되어 있지 않은 것처럼 보입니다.하지만이 정보를 파악하기에 충분합니다. 고마워요! –