jquery - 来自 CSS 文件的样式覆盖了页面中应用的样式

标签 jquery html css

我正在使用 jQuery 添加一个 css 类

//Set the css class for tabItem's link
$("#" + menuID + " a").removeClass('navLinkNormal');
$("#" + menuID + " a").addClass('navLinkSelected');

但是 colr 值被不同 css 文件中的 a:link 和 a:visted 样式所取代。因此,它显示的不是红色,而是文本的黑色。

我尝试了各种方法,但没有奏效。我们如何强制使用红色链接?

引用资料:

  1. > How to remove a <style> element with jquery?
  2. > Is it possible to remove inline styles with jQuery?
  3. > Styling a:visited links

HTML

   <ul id="nav">
        <li id="nav_Container" class="tabItem"><a href="javascript:void(0);">Add By Container</a></li>
        <li id="nav_WorkLot" class="tabItem"><a href="javascript:void(0);">Add By Worklot</a></li>
        <li id="nav_VisualAid" class="tabItem"><a href="javascript:void(0);">Add By Visual Aid</a></li>
    </ul>

风格

enter image description here

最佳答案

这是 specificity 的问题.由于其他样式“更具体地”针对该元素,您的类被覆盖;换句话说:

If two selectors apply to the same element, the one with higher specificity wins.

解决方案就像定位 <a> 一样简单类 navLinkSelected 的元素:

a.navLinkSelected { ... }

关于jquery - 来自 CSS 文件的样式覆盖了页面中应用的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24633567/

相关文章:

html - 在 div 容器中间居中内容

php - Facebook API : Get a row from MySQL and Like an Object

jquery - 在 TypeScript 中使用 jQuery UI 自动完成时出错

javascript - 更改函数名称调用中的单击事件

html - 在 Meteor 应用程序中放置苹果全屏元标记

javascript - 添加新 div 时 jQuery 事件失败

jquery - Bootstrap 3.3.x,折叠时如何获得导航栏菜单项的正确顺序?

javascript - 为什么 javascript 行必须在函数中才能工作?

javascript - 当我似乎无法重现它时,如何调试此验证错误?

css - 更改导航栏字体大小 phonegap