基于角度的样式属性进行选择

时间:2016-01-09 22:55:24

标签: javascript jquery html css angularjs

(如何)是否可以根据其样式属性选择元素?

感谢this question,我们知道使用纯css是不可能的。

为了解决这个问题,我给出了具体的案例:我希望将p中背景颜色为白色的所有spandiv的背景颜色更改为透明。

有角度对它有利吗?或者还可以使用其他什么?

2 个答案:

答案 0 :(得分:0)

window.getComputedStyle()

var divs = document.querySelectorAll('div');

[].slice.call(divs).forEach(function(div) {
  var color = window.getComputedStyle(div, null).backgroundColor;

  if (color === 'rgb(255, 255, 255)') {
    div.style.backgroundColor = 'transparent';
  }
});

您需要对颜色进行标准化,因为不同的浏览器会以不同的格式返回颜色。

JSFiddle演示:https://jsfiddle.net/ebq6manb/1/

答案 1 :(得分:-1)

您可以使用选择器抓取所有div,遍历它们,使用attr('style')方法然后检查它们是什么背景颜色。