【发布时间】:2015-01-24 16:37:23
【问题描述】:
我创建了一个 jQuery 函数来检索网页中使用的颜色:
$('*').each(function(i, el){
var $element = $(el),
color = $element.css('background-color');
if(!~$.inArray(color, colors))
colors.push(color);
});
它对我来说很好用。 现在我需要将此代码转换为纯 javascript,然后我写了这个:
var elements = Array.prototype.slice.call(document.getElementsByTagName('*')),
len = elements.length,
i, node, color;
for (i = 0; i < len; i++) {
node = elements[i];
color = node.style.backgroundColor;
if (color && !~colors.indexOf(color)) {
colors.push(color);
}
}
但元素 node.style.backgroundColor 永远是空的,对于每个元素,就像在这个屏幕截图中一样
为什么在 jquery 中一切都已完成,而使用 javascript 转换脚本却不能正常工作?
【问题讨论】:
标签: javascript jquery css dom elements