Javascript AngularJS-如何为自定义指令设置css类?

Javascript AngularJS-如何为自定义指令设置css类?,javascript,html,css,angularjs,angularjs-directive,Javascript,Html,Css,Angularjs,Angularjs Directive,为nav html元素使用tab css类,我将使用它作为如下指令: <nav tab></nav> <nav class="tab"> <a></a> <a></a> <a></a> </nav> 如何将CSS类添加到top directive元素中,而不在元素处显式指定它?链接函数中的序列错误 而不是 link: function(element

为nav html元素使用tab css类,我将使用它作为如下指令:

<nav tab></nav>
<nav class="tab">
    <a></a>
    <a></a>
    <a></a>
</nav>

如何将CSS类添加到top directive元素中,而不在元素处显式指定它?

链接函数中的序列错误

而不是

link: function(element, scope) {
换成

link: function(scope, element, attrs) {

然后,您可以直接执行element.addClass,就像jQLite api中提供的.addClass方法一样。

链接函数中的序列错误

而不是

link: function(element, scope) {
换成

link: function(scope, element, attrs) {

然后,您可以直接执行element.addClass,正如jQLite api提供的.addClass方法一样。

我会将您的指令更改为元素“E”,而不是属性的“A”

<tab></tab>

tab.directive('tab', function($compile) {
return {
    restrict: 'E',
    templateUrl: 'nav-tab.html'...
然后在模板nav-tab.html中添加该类:


我会将您的指令更改为元素“E”,而不是属性的“A”

<tab></tab>

tab.directive('tab', function($compile) {
return {
    restrict: 'E',
    templateUrl: 'nav-tab.html'...
然后在模板nav-tab.html中添加该类:


当你这样做的时候会发生什么,addClass?控制台中有错误吗?@PankajParkar,有一个带有当前代码的空Chrome控制台。如果我使用.addClass作为元素.addClass,它说.addClass不是一个函数,我假设它发生是因为没有jquery当你这样做的时候会发生什么。addClass?控制台中有错误吗?@PankajParkar,有一个带有当前代码的空Chrome控制台。如果我使用.addClass作为element.addClass,它说.addClass不是一个函数,我假设它发生是因为没有JQueryEAH,因为我已经切换到element.addClass'tab'。谢谢:5分钟后接受一旦你修复了上面的问题,你也不需要包装元素。是的,自从我切换到element.addClass'tab'后,它就可以工作了。谢谢:5分钟后接受修复上述问题后,您也不需要包装元素。替换:true已被弃用。。不鼓励使用它。。如果没有replace:true,它显然可以工作。replace:true已被弃用。。不鼓励使用它。。如果没有替换:是的,它显然会工作。