0

我正在尝试构建一个获取网页中所有元素颜色的函数。为此,我需要运行 body 元素的所有子元素并获取它们的所有后代。

如您所知,孩子可能会有所不同(“TABLE”、“P”、“A”、“H1”等),正如您在我制作的以下图片中看到的那样:

HTML 树

此外,通常确定样式属于最后一个后代,如下图所示:

在此处输入图像描述

JAVASCRIPT中是否有一种通用方法可以循环一个元素的所有子元素,无论该元素是什么类型,并获取最后一个元素后代?PS(上图中,相关后代为:“P”、“TD”。

谢谢你,多伦

4

3 回答 3

1

这行得通!:)

var myEle = $('html');
$('*',myEle).filter(function(){ return !this.childElementCount });

我的代码适用于所有 dom 元素。(因为我在上面运行了这段代码html

因此html,您可以输入 an#id或 a.class或 any ,而不是 ,tag它的所有子项都会被选中。然后我们过滤所有这些,只得到那些自己没有孩子的。

于 2013-09-05T09:15:11.520 回答
1
var allElements = document.getElementsByTagName("*");

for(var i = 0, l = allElements.length ; i < l; i++) {
    //get your colors here
}
于 2013-09-05T09:11:22.603 回答
1

使用 jQuery

  var colors=[];
  $('*').each(function(){
  colors.push($(this).css('color'));
  });

http://jsfiddle.net/mFrGe/

于 2013-09-05T09:14:54.993 回答