如何检查元素是否具有AngularJS类?

Eri*_*ans 34 menu angularjs

我有一个关闭面板菜单在网站上完美运行.用户可以使用导航图标或用手指滑动来打开和关闭它.

现在我有一个非常漂亮的导航图标,当点击(并打开菜单)时,从菜单图标转换到X图标,然后再次单击菜单关闭时反之亦然.Buuut如果用户滑动菜单打开或关闭而不是使用navicon,则不会触发转换,这可能会导致UX混淆(即菜单关闭,导航显示X而不是常规的3条水平线图标).

因此,navicon现在具有以下代码来触发转换:

ng-click="open = !open" ng-class="{'open-mob':open}">
Run Code Online (Sandbox Code Playgroud)

我认为解决这个问题的一个简单方法就是在每次菜单打开或关闭时触发"open =!open",因为off面板中的js将类slidRight添加到主要部分时菜单已打开,并在关闭时将其删除.

既然如此,是否有一些直接的方法来检查班级是否使用AngularJS?像class = slidRight - >"open =!open"之类的东西.

谢谢!!

vid*_*uch 87

对于那些无法理解Angular文档的人(包括我),这里有一个对我有用的例子:

angular.element(myElement).hasClass('my-class');

angular.element(myElement).addClass('new-class');

angular.element(myElement).removeClass('old-class');
Run Code Online (Sandbox Code Playgroud)

希望这有助于某人......

  • 不需要使用`angular.element(myElement)`,`myElement.hasClass(...)`就足够了. (6认同)
  • `angular.element()` 对以下情况很有用:`const el = document.getElementById(id); angular.element(el).hasClass(...);` (2认同)

Min*_*rmy 22

Angular本身使用jqLit​​e的.hasClass().

请阅读角度文档以获取更多信息.

http://docs.angularjs.org/api/angular.element

https://docs.angularjs.org/api/ng/function/angular.element

  • 要求在ng-click内检测类的内联方式 (2认同)