获得每个元素的所有后代

时间:2013-09-05 09:05:07

标签: javascript html css dom

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

如您所知,儿童可能会有所不同(“桌子”,“P”,“A”,“H1”等等),如下图所示:

HTML TREE

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

enter image description here

在JAVASCRIPT 中是否有一般方法用于循环元素的所有子元素,无论这个元素是什么类型,并获得最后一个元素的后代? P.S(在上图中,相关的后代是:“P”,“TD”。

谢谢你, 多伦

3 个答案:

答案 0 :(得分:1)

var allElements = document.getElementsByTagName("*");

for(var i = 0, l = allElements.length ; i < l; i++) {
    //get your colors here
}

答案 1 :(得分:1)

使用Jquery

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

http://jsfiddle.net/mFrGe/

答案 2 :(得分:1)

这个有效! :)

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

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

因此,您可以输入html#id或任何.class而不是tag,而是选择其所有子项。然后我们过滤掉所有这些,只得到那些自己没有孩子的人。