Firefox 公式 Web サイトにある一連の関数。treeWalker に相当します。これを使用すると、Traversal API 2 のすべての関数 (nextElementSibling、previousElementSibling、firstElementChild、lastElementChild、children) を簡単に実装できます。これらの関数を使用すると、次の兄弟を見つけることができます。 、指定されたノード (要素) の以前の兄弟、最初の子、および最後の子をユニークにしているのは、空白ノードを安全に無視するため、毎回探している実際のノードを取得できることです。 🎜>
コードをコピーします
コードは次のとおりです:function is_all_ws(nod) { return !(/[^tnr ]/. test(nod.data) ); }
関数 is_ignorable(nod) { return (nod.nodeType == 3) && is_all_ws(nod)); node_before(sib) {
while ((sib = sib.previousSibling)) {
if (!is_ignorable(sib)) return
}
return
}
function node_after(sib) {
while ((sib = sib.nextSibling)) {
if (!is_ignorable(sib)) return
}
return
}
function first_child(par) {
var res = par.firstChild;
while(res) {
if(!is_ignorable(res)) return res; >}
return null;
}
function last_child(par) {
var res = par.lastChild;
if(!is_ignorable(res))戻り値;
res = res.previousSibling;
}