HTML 문서에서 텍스트를 선택할 때 DOM 요소 하나에서 다른 요소로 시작할 수 있습니다. 이때 다른 여러 요소를 지나칠 수 있습니다. DOM API를 사용하면 선택된 DOM 요소의 선택 영역, 선택한 텍스트 및 부모 요소까지도 사용할 수 있습니다 (사용 된 브라우저를 기반으로 commonAncestorContainer 또는 parentElement() 사용). 그러나, 내가 선택한 텍스트의 모든 요소를 포함하는 단일 부모 요소를 가져 오는 것 이외의 모든 요소를 나열 할 수있는 방법은 없습니다. 부모를 사용하고 자식 노드를 탐색하면이 부모 내부에서 선택되지 않은 다른 형제가있을 수 있으므로이를 수행하지 않습니다.선택한 텍스트에 대한 모든 DOM 블록 요소 가져 오기
그래서 선택한 텍스트가 포함 된 모든 요소를 가져올 수있는 방법이 있습니까? 나는 주로 블록 요소 (p, h1, h2, h3, ... 등)를 얻는 데 관심이 있지만 모든 요소를 얻을 수있는 방법이 있다면 그 요소를 통해 필터를 통과 할 수 있다고 생각합니다. 필요. 나는 어떤 생각이나 제안이라도 환영한다.
감사합니다.
당신이 말한 것처럼 완벽한 해결책은 아니지만 그것을하는 방법에 대한 아이디어를 나에게주었습니다. 그러므로 나는 이것을 나의 필요에 가장 정확한 답으로 선택했다. 정말 고맙습니다. – cria
괜찮은 대답이지만 Internet Explorer <9에서는 작동하지 않습니다. selection.getRangeAt (0);을 호출하기 전에 선택 항목이 존재하는지 확인하는 것도 가능합니다 (선택 항목의 'rangeCount' 속성을 사용하는 것이 가장 쉽습니다). –
내가 언급하지 않은 많은 잡화가있다. 이것은 올바른 방향으로 향하기 시작한 것일 뿐이다. 귀하의 도서관 정말 그것을 처리하는 비 압축 자바 스크립트 22K 필요하고 내가 그것을 필요하면, 난 그냥 사용합니다. –