有没有办法在指令中获得类宽度?

时间:2016-06-01 15:14:40

标签: javascript jquery html css angularjs

如何在指令中获取元素宽度?

在我的情况下,一个指令被多次调用,我必须通过element参数来知道被调用的元素。

但是我不知道如何在元素宽度内获得一个类?

例如,我有一个名为标签的类,所以我在这些方面做了一些事情:

console.log(element.find(.labels).width());

但这并不起作用,它会带来零...即使下面的代码长度为1.:

console.log(element.find('.labels').length);

显然,似乎认为这个类是一个对象,但从我能说的不是。

我还应该指出,我试图获得宽度的元素上有一个转换css属性。我不认为这会影响我尝试做的事情。

https://jsfiddle.net/2g13wmxz/

1 个答案:

答案 0 :(得分:0)

我已经为高度做了类似的事情,这里将适应宽度(虽然没有经过测试):

angular.module('app')
  .directive('findWidth', function($timeout) {
    return {
      type: "A",
      link: function(scope, element) {
        $timeout(init, false);

        function init() {
          var offsetWidth = element[0].offsetWidth;
        }
      },
    };
  });

PS:您可能不需要超时技巧

更多信息:https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetWidth