嗨
,我正在编写一个 javascript 代码来遍历 HTML dom 并突出显示元素。
我的问题是 Firefox 返回空格作为文本节点。
有没有办法强制它只返回标签?例如我需要“firstChild”总是返回第一个标签而不是任何文本!
谢谢
嗨
,我正在编写一个 javascript 代码来遍历 HTML dom 并突出显示元素。
我的问题是 Firefox 返回空格作为文本节点。
有没有办法强制它只返回标签?例如我需要“firstChild”总是返回第一个标签而不是任何文本!
谢谢
你可以element.firstElementChild
改用。不幸的是,IE8 及更低版本不支持此功能。
或者,您可能想编写一个小函数来抓取childNode
s 直到找到下一个element
节点。
您可以检查节点是否是带有.node.nodeType === 1
您还可以将新的 DOM Travelsal API 实现为函数。
var dummy = document.createElement("div");
var firstElementChild = ('firstElementChild' in dummy)
? function (el) {
return el.firstElementChild;
}
: function (el) {
el = el.firstChild;
while (el && el.nodeType !== 1)
el = el.nextSibling;
return el;
}
firstElementChild(el)
也许您可以尝试其他 DOM 遍历方法之一,例如TreeWalker。