thể trùng lặp:
getElementsByTagName() equivalent for textNodesTìm tất cả các nút văn bản trong trang HTML
Đối this question tôi cần phải tìm tất cả các nút văn bản dưới một nút cụ thể. Tôi thể làm điều này như sau:
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;
})
);
}
}
Tuy nhiên, điều này dường như không thanh nha trong ánh sáng của sự thật rằng với XPath một cách đơn giản có thể truy vấn cho .//text()
và được thực hiện với nó.
Cách đơn giản nhất để nhận tất cả các nút văn bản trong một phần tử cụ thể trong tài liệu HTML, hoạt động trên IE9 +, Safari5 +, Chrome19 +, Firefox12 +, Opera11 + là gì?
"Đơn giản nhất" được định nghĩa lỏng lẻo là "hiệu quả và ngắn, không chơi gôn".
http: // st ackoverflow.com/questions/2579666/getelementsbytagname-equivalent-for-textnodes –
Aw, bugger. Cảm ơn, Jack, tôi đã tìm kiếm nhưng không tìm thấy câu hỏi đó. – Phrogz
Vâng, tôi không biết tại sao nó không hiển thị trong thanh bên, nhưng tôi tìm thấy nó trong khi thực hiện tìm kiếm của Google :) –