我写了这个函数来获取HTML文档的所有文本节点:
function testit(root){
w=document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, false);
a=[]
while (n=w.nextNode()) {
a.push(n);
console.log(n)
}
}
我想得到文本的背景和前景颜色,我很确定我必须在父节点的某处找到这些属性,但我不知道如何。
我从未接触过javascript与DOM和firefox(以及XUL等)的组合,所以我非常感谢有用的链接,因为我认识到这个主题没有像python那样记录得好。
谢谢你的建设性答案!答案 0 :(得分:0)
好的,我已经找到了如何通过将我的代码更改为此来获取父元素的bgcolor和颜色属性:
function testit(root){
w=document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, false);
a=[]
while (n=w.nextNode()) {
a.push(n);
console.log(n.textContent)
console.log('bgcolor: '+window.getComputedStyle(n.parentElement).getPropertyValue('background-color'))
console.log('color: '+window.getComputedStyle(n.parentElement).getPropertyValue('color'))
console.log('------------')
}
}
这是一种稳定的方法吗?
返回的bgcolor有时候是“透明的”,是不是说在这种情况下颜色是自动的bgcolor?