我正在尝试构建一个获取网页中所有元素颜色的函数。为此,我需要运行 body 元素的所有子元素并获取它们的所有后代。
如您所知,孩子可能会有所不同(“TABLE”、“P”、“A”、“H1”等),正如您在我制作的以下图片中看到的那样:
此外,通常确定样式属于最后一个后代,如下图所示:
JAVASCRIPT中是否有一种通用方法可以循环一个元素的所有子元素,无论该元素是什么类型,并获取最后一个元素后代?PS(上图中,相关后代为:“P”、“TD”。
谢谢你,多伦
我正在尝试构建一个获取网页中所有元素颜色的函数。为此,我需要运行 body 元素的所有子元素并获取它们的所有后代。
如您所知,孩子可能会有所不同(“TABLE”、“P”、“A”、“H1”等),正如您在我制作的以下图片中看到的那样:
此外,通常确定样式属于最后一个后代,如下图所示:
JAVASCRIPT中是否有一种通用方法可以循环一个元素的所有子元素,无论该元素是什么类型,并获取最后一个元素后代?PS(上图中,相关后代为:“P”、“TD”。
谢谢你,多伦
这行得通!:)
var myEle = $('html');
$('*',myEle).filter(function(){ return !this.childElementCount });
我的代码适用于所有 dom 元素。(因为我在上面运行了这段代码html
)
因此html
,您可以输入 an#id
或 a.class
或 any ,而不是 ,tag
它的所有子项都会被选中。然后我们过滤所有这些,只得到那些自己没有孩子的。
var allElements = document.getElementsByTagName("*");
for(var i = 0, l = allElements.length ; i < l; i++) {
//get your colors here
}
使用 jQuery
var colors=[];
$('*').each(function(){
colors.push($(this).css('color'));
});