2013-03-08 34 views
3

我正在使用jQuery数据表和aTableTools aButtons。我这样做:您可以在加载时更改css类的优先顺序吗?

oTableTools: { 
    aButtons: [ 
     { 
      sExtends: 'text', 
      sButtonText: 'Add +', 
      fnClick: function (nButton, oConfig, oFlash) {/*stuff*/}, 
      sButtonClass: 'btn-success' 
     } 
    ] 
}, 

我的问题是,a.DTTT_button类上dataTable.tableTools.css:38压倒一切的引导,combined.min.css的.btn-success等级:9,所以我的按钮是灰色的,而不是的绿色。它们都是从外部来源加载的,所以我不能编辑它们,并且改变它们的加载顺序并不会影响任何东西,这可能是因为dataTable.tableTools.css中的定义更具体,特定于锚。

有没有办法强制sButtonClass在加载时优先于a.DTTT_button,或者我将不得不在我的本地css文件中创建一个新类来复制我想要的样式并调用它?这对我来说感觉不那么干净,所以如果我不必这样做,我宁愿不这样做。

+0

如果您想以描述的方式“强制优先”,您可以使用**!important ** ...但是这通常被认为是**不好的做法**。更多细节(和更好的解决方案)在这里 - http://stackoverflow.com/a/3706876/1538708 – adamb 2013-03-08 17:05:10

+0

我不能添加!重要,因为css文件是从外部来源加载;我无法改变它们。 – DiMono 2013-03-08 17:08:11

回答

0

我认为在这种情况下给出的参数最彻底的方法实际上是在你的“本地的css文件来创建一个a.sButtonClass选择“在a.DTTT_button类之后加载。特定性将匹配,但级联将赢得a.sButtonClass。我知道你说这个“感觉不太干净”,但是你无法操纵两个css文件的限制使它成为最干净的解决方案之一。此外,如果您正在使用预处理器(例如0123rap_,那么boostrap基于),那么您可以使用该类作为您的更具体的选择器的混合来自动匹配引导类。

然而,另一种是不是一类在所有适用的风格,并直接写sButtonClass样式锚元素的style属性,因为这将覆盖任何a.DTTT_button做(假设a.DTTT_button在其属性上没有!important标签)。