>  기사  >  웹 프론트엔드  >  자바스크립트 노드 순회 함수_javascript 기술

자바스크립트 노드 순회 함수_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:31:051157검색

Firefox 공식 웹사이트에 있는 treeWalker와 동일한 함수 세트로 IE에서 Traversal API 2의 모든 기능(nextElementSibling, PreviousElementSibling, firstElementChild, lastElementChild, children)을 쉽게 구현할 수 있습니다. 이러한 함수를 사용하면 다음 형제를 찾을 수 있습니다. , 이전 형제, 특정 노드(요소)의 첫 번째 자식 및 마지막 자식을 독특하게 만드는 것은 공백 노드를 안전하게 무시하므로 매번 찾고 있는 실제 노드를 얻을 수 있다는 것입니다. 🎜>

코드 복사 코드는 다음과 같습니다.function is_all_ws(nod) { return !(/[^tnr ]/. test(nod.data) ); }
function is_ignorable(nod) { return (nod.nodeType == 8) || ((nod.nodeType == 3) && is_all_ws(nod)) }
function node_before(sib) {
while ((sib = sib.previousSibling)) {
if (!is_ignorable(sib)) return sib;
}
return null; function node_after(sib) {
while ((sib = sib.nextSibling)) {
if (!is_ignorable(sib)) return sib;
}
return null; >function first_child(par) {
var res = par.firstChild;
while(res) {
if(!is_ignorable(res)) return res;
res = res.nextSibling; >}
return null;
}
function last_child(par) {
var res = par.lastChild;
while(res) {
if(!is_ignorable(res)) return res
res = res.previousSibling
}
return null

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.