0

Web ページのすべての要素の色を取得する関数を構築しようとしています。そのためには、body 要素のすべての子に対して実行し、そのすべての子を取得する必要があります。

ご存知のように、私が作成した次の図でわかるように、子供はさまざまです (「TABLE」、「P」、「A」、「H1」など)。

HTML ツリー

さらに、次の図でわかるように、通常、決定されたスタイルは最後の子孫に属します。

ここに画像の説明を入力

この要素のタイプに関係なく、要素のすべての子をループし、最後の要素の子孫を取得するためのJAVASCRIPTの一般的な方法はありますか? PS (上の図では、関連する子孫は「P」、「TD」です。

ありがとう、ドロン

4

3 に答える 3

1

Jquery の使用

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

http://jsfiddle.net/mFrGe/

于 2013-09-05T09:14:54.993 に答える
1

これはうまくいきます!:)

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

私のコードは、すべての dom 要素に対して機能します。(このコードを で実行したためhtml)

したがって、 の代わりにhtmlまたは#idまたは.classいずれかを指定する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 に答える