javascript - 未捕获的类型错误 : Object #<HTMLBodyElement> has no method 'css'

标签 javascript jquery

我想最终遍历 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();

最佳答案

您正尝试在 each 给定的 DOM 对象上调用 jQuery 函数 css。您必须将 DOM 对象转换为 jQuery 对象才能在其上调用 CSS 相关函数。

改变

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

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

关于javascript - 未捕获的类型错误 : Object #<HTMLBodyElement> has no method 'css' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14107860/

相关文章:

javascript - 如何使用 Javascript 验证网站图标?

javascript - 将焦点设置在 javascript 函数中的 div 上

javascript - 如何通过两个功能隐藏点击图像?

javascript - Jquery 仅在向下滚动时显示 div

javascript - 从回调外部的回调中提取参数

javascript - 自执行函数参数

javascript - 如何在 JavaScript(或 CSS)中平均对齐使用循环、数组和附加子项创建的两个垂直列?

javascript - 如何检测事件目标最后一个子javascript

javascript - 从 Google 的反向地理编码中获取地址

javascript - 使用 fs.readFile 的简单 nodejs 回调示例