가능한 중복 모든 텍스트 노드를 찾기 : 내가 특정 노드 아래에있는 모든 텍스트 노드를 발견 할 필요가 this question를 들어
getElementsByTagName() equivalent for textNodesHTML 페이지에
. 나는 과 같이이 작업을 수행 할 수 있습니다
function textNodesUnder(root){
var textNodes = [];
addTextNodes(root);
[].forEach.call(root.querySelectorAll('*'),addTextNodes);
return textNodes;
function addTextNodes(el){
textNodes = textNodes.concat(
[].filter.call(el.childNodes,function(k){
return k.nodeType==Node.TEXT_NODE;
})
);
}
}
그러나,이 XPath는 하나 단순히 .//text()
쿼리 수와 함께 할 수 있다는 사실에 비추어 우아 보인다.
IE9 +, Safari5 +, Chrome19 +, Firefox12 +, Opera11 +에서 작동하는 HTML 문서의 특정 요소 아래에 모든 텍스트 노드를 가져 오는 가장 간단한 방법은 무엇입니까?
"가장 단순한"은 느슨하게 "골프를 쓰지 않고 효율적이고 짧음"으로 정의됩니다. @의 케네 벡의 대답은, 같은 논리의 약간 엄격한 구현을 바탕으로
http : // st ackoverflow.com/questions/2579666/getelementsbytagname-equivalent-for-textnodes –
아우, bugger. 고마워, 잭, 나는 검색했지만 그 질문을 찾지 못했습니다. – Phrogz
그래, 나도 왜 사이드 바에 나타나지 않았는지 모르지만, Google 검색을하는 동안 그것을 발견 : –