1

私は最終的に body 内のすべてのノードをループして (まだ実装されていません)、すべてのノードから背景とテキストの色を取得したいと考えています。しかし、私は得てUncaught TypeError: Object #<HTMLBodyElement> has no method 'css'います。発生していますvar bg = node.css("background-color");

これが私のコードです

function grabColors() {
    var colorArray = new Array();
    var body = $("body");

    console.log(body);

    body.each(function(index, node){
        console.log(node);
        getColorsFromChild(node);
    });
    console.log(colorArray);
}

function getColorsFromChild(node) {
    var bg = node.css("background-color");
    var bg2 = node.css("background");
    var color = node.css("color");

    if ($.inArray(bg, colorArray) == -1) {
        colorArray.push(bg);
    }
    if ($.inArray(bg2, colorArray) == -1) {
        colorArray.push(bg2);
    }
    if ($.inArray(color, colorArray) == -1) {
        colorArray.push(color);
    }
}
grabColors();
4

1 に答える 1

3

で指定された DOM オブジェクトで jQuery 関数 css を呼び出そうとしていますeach。CSS 関連の関数を呼び出すには、DOM オブジェクトを jQuery オブジェクトに変換する必要があります。

変化する

var bg = node.css("background-color");

var bg = $(node).css("background-color");
于 2013-01-01T04:41:24.957 に答える