背景:jQuery的toggleClass和.css文件類名稱的順序
我有一個箭頭指向右邊的文本,單擊文本/箭頭揭示了一個div並替換與arrowDown的arrowRight。
問題:
問題來源於這樣的事實,我的代碼工作,這取決於在.css文件的順序,我不知道爲什麼應該質W jQuery的。
CSS:
.arrow{display:inline-block; width:15px; height:10px;background-repeat:no-repeat;}
.arrowRight{background-image:url("../graphics/triangleRight.gif"); }
.arrowDown{ background-image: url("../graphics/triangleDown.gif");}
HTML:
<div id="showListOfBids" class="align-c">
List of Bids <div class="arrow arrowRight">
</div>
jQuery的
$("#showListOfBids").click(function(){
$(".bidList").toggleClass("show");
$(".arrowRight").toggleClass("arrowDown");
});
開發工具>元素
繃添加和刪除arrowDown
切換關:
<div class="arrow arrowRight"></div>
撥動開:
<div class="arrow arrowRight arrowDown"></div>
問題:爲什麼之類的順序.arrowDown影響顯示? AFAIK在使用jQuery時,css文件不會被重新編譯。 jQuery將該類添加到DOM,解析器只是搜索該元素。
評論:我不喜歡在課上翻一番。我使用不正確?我正在使用removeClass和addClass並將其更改爲toggleClass
但是 - 這裏是我弄糊塗/弄錯的地方:在HTML中它會去class =「arrow arrowRightDown」不應該在HTML/DOM中的位置取代css文件中的順序? – Mayo 2014-12-05 16:10:50
@Mayo:這不是它的工作原理。 HTML屬性中的順序無關緊要。 – 2014-12-05 16:11:44
@Mayo在html中,你應該只將其中的一個arrowRight或arrowDown,但不能同時用於初始設置。 – 2014-12-05 16:13:06