javascript - element.find ('li' ) 不匹配任何结果

标签 javascript angularjs

我有一个 angularJS 指令,它在 toState 匹配 ui-sref 值时更改 li 样式属性。

出于某种原因,element.find('li') 给我带来了一个空结果。下面我粘贴我的代码:

navbar.js

navbar.directive('appNavbar', [ function () {
  return {
    restrict: 'E',
    link: function ($state, element) {
      $state.$on("$stateChangeSuccess", function (event, toState) {
        console.log(element.find('li')); // here is comming an empty value
        angular.forEach(element.find('li'), function (a, i) {
          // li css change stuff
        });
      });
    }
  };
}]);

_navbar.html

<app-navbar ui-view="navbar">
  <div class="nb-main">
    <ul id="list-nav" class="list-navbar">
      <li ng-include="'svg/navbar-home.svg'" ui-sref="base.home"></li>
      <li ng-include="'svg/navbar-discover.svg'" ui-sref="base.discover"></li>
      <li ng-include="'svg/navbar-discover.svg'" ui-sref="base.discover"></li>
    </ul>
    <div class="nb-img line-navbar"></div>
  </div>
</app-navbar>

我做错了什么?

最佳答案

来自 the documentation :

Note: Keep in mind that this function will not find elements by tag name / CSS selector. For lookups by tag name, try instead angular.element(document).find(...) or $document.find(), or use the standard DOM APIs, e.g. document.querySelectorAll().

关于javascript - element.find ('li' ) 不匹配任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37930964/

相关文章:

javascript - Vuex 状态和 vue-router

javascript - 教程中包含的基本 Angular.js 不起作用

javascript - 针对原生 js 的 angular json 相关函数

javascript - 在输入字段字符串末尾添加特殊字符,jquery 自动添加逗号

javascript - 在 data() 方法中读取时,VueJS prop 未定义

javascript - 在javascript中通过类名获取最后一个元素的最短方法

AngularJS 1 次绑定(bind) HTML

angularjs - ui-router 无需在每次路由更改时执行 Controller

javascript - 使用示例服务在 Controller 之间传递数据时出错

javascript - 从 Iron-List 内的元素读取数据属性