【问题标题】:How do I iterate through all attributes (css, attr) of an element in AngularJS?如何遍历AngularJS中元素的所有属性(css,attr)?
【发布时间】:2017-10-25 14:17:05
【问题描述】:

在 AngularJS 中,我正在使用 DIV 标签,称之为“MyPanel”。如果我将标签传递给控制台,我可以看到 DIV 的可用功能:

var panel = $("#MyPanel");
console.log(panel);

在控制台中显示(截图):

[object Object]
[functions]
attr
css

现在,这给了我 2 的长度:

console.log(panel.css.length)

但是当我使用 forEach 时,无论哪种方式我都没有得到任何结果:

angular.forEach(panel.css, function(key, value) {
  console.log(key);
});
angular.forEach(panel.css, function(css) {
  console.log(css);
});

for 循环让我无法识别每个实例。

for (var i = 0; i < panel.css.length; i++) {
  console.log(css[i]);
});

我在网上找到的每个示例都要求我知道属性的名称,例如,console.log(panel.css["background-color"]) 给了我背景颜色。那么,如果我不知道它们的名字,如何识别这两个 css 属性呢?

【问题讨论】:

    标签: jquery css angularjs


    【解决方案1】:

    您可以使用getComputedStyle().

    var element = document.getElementById('MyPanel'),
        style = window.getComputedStyle(element);
    

    【讨论】:

    • 行得通!有趣的是,我已经在使用 jQuery 来获取面板:$("#MyPanel"),当我尝试针对该对象使用您的方法时,它引发了错误。但是从上面显示的文档中获取它,效果很好!
    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2011-03-29
    • 2011-01-14
    • 2018-04-13
    • 2015-02-14
    相关资源
    最近更新 更多