Javascript 基于角度视图中的样式属性选择

Javascript 基于角度视图中的样式属性选择,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,(如何)可以根据元素的样式属性选择元素 多亏了,我们知道使用纯css是不可能的 为了阐明这个问题,我给出了一个具体的例子:我想将所有p和spans的背景色(背景色为div中的白色)更改为透明 你能帮点忙吗?或者还可以使用什么?您可以使用选择器获取所有div,遍历它们,使用attr('style')方法,然后检查它们的背景色 由于不同的浏览器以不同的格式返回颜色,因此需要对颜色进行规范化 jsiddle演示:根本不要使用jquery选择器。使用angulars令人敬畏的特性Directives

(如何)可以根据元素的样式属性选择元素

多亏了,我们知道使用纯css是不可能的

为了阐明这个问题,我给出了一个具体的例子:我想将所有
p
span
s的背景色(背景色为
div
中的白色)更改为透明


你能帮点忙吗?或者还可以使用什么?

您可以使用选择器获取所有div,遍历它们,使用
attr('style')
方法,然后检查它们的背景色

由于不同的浏览器以不同的格式返回颜色,因此需要对颜色进行规范化


jsiddle演示:

根本不要使用jquery选择器。使用angulars令人敬畏的特性Directives Directives是一次编写的,在任何地方都可以用于任何事情为什么不能使用类来实现这一点?尝试从DOM解析颜色会在不同的浏览器中返回不同的格式。提供有关您的特定问题的更多详细信息常规不应该有选择器,因为html文件是外部的,我无法控制它们@charlietfl,如果我使用类封装它们,我仍然无法选择具有特定背景颜色的文件您不应该在angularjs@sundar为什么不呢?虽然没有使用angularjs,但它似乎解决了这个问题。我仍然不知道是否可以用它的“指令”来解决这个问题@既然你不能用任何东西来解决你的问题,那么如果你想用自然的方式来做,为什么你要来angularjs如果你要用angular,你应该用angular的方式来做。angular不是用来做这种事情的manipulations@Asqan了解angulars测试驱动系统和文档reference@sundar这是一个愚蠢的说法。。。这是javascript
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';
  }
});