首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网页颜色检索可以与jQuery配合使用,但不能与javascript配合使用

网页颜色检索可以与jQuery配合使用,但不能与javascript配合使用
EN

Stack Overflow用户
提问于 2014-11-26 19:12:22
回答 1查看 23关注 0票数 0

我创建了一个jQuery函数,用于检索网页中使用的颜色:

代码语言:javascript
复制
$('*').each(function(i, el){    

var $element = $(el),
color = $element.css('background-color');

if(!~$.inArray(color, colors))
    colors.push(color);

});

它对我来说工作得很好。现在我需要把这段代码转换成纯javascript,我写了这个:

代码语言: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转换脚本却不能很好地工作?

EN

回答 1

Stack Overflow用户

发布于 2014-11-26 19:17:14

您应该对css样式使用getComputedStyle方法,因为node.style.backgroundColor仅适用于内联样式(如此问题Javascript - getting the background color of the hovered element中所建议的)。

代码语言:javascript
复制
//try this
getComputedStyle(target).backgroundColor
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27147654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档