我想最终遍历 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/