0
有時當我們使用諸如jQuery UI之類的插件時,它會添加一個類並覆蓋existig樣式。 但我想確保我自己的類總是應用於元素。如何確保一個類總是應用於jQuery元素?
.red {color: red;}
.plugin_style {color: blue;}
<p id="foo" class="red">foo</p>
<a href="#" id="doSomething">do something</a>
$.fn.doSomething = function() {
$(this).css("border", "1px solid #f00").addClass("plugin_style");
return $(this);
};
$("#doSomething").on("click", function() {
// this adds class "plugin_style"
// generated source: class="red plugin_style"
$("#foo").doSomething();
// remove "red"
// generated source: class="plugin_style"
$("#foo").removeClass("red");
// add "red"
// generated source: class="plugin_style red"
$("#foo").addClass("red");
});
通過去除和添加類紅色,紅色變爲在生成的源每隔其他類後,並且應該覆蓋在plugin_style定義的樣式。但顏色仍然是藍色。
有人可以解釋這一點嗎?
更新
通過添加!important
可以始終保持.red應用。但是如果沒有它,.red應該也會覆蓋.plugin_style,因爲它在後面。
'最後一條規則定義覆蓋任何previous',我不知道。好吧,我們說我無法改變他們定義的順序。如何在不使用'.css(「color」,「red」)'的情況下調用doSomething時如何應用.red? – user1643156 2013-04-08 04:11:54