我有一個ul有幾個li元素,其中一個將始終有「活動」類。如何讓li.active元素始終出現在列表頂部?用ul裏面給定的類改變li元素的位置?
我不能控制產生這個列表的html輸出,所以我必須用css(最好)或javascript/jquery來做到這一點。 我想沒有辦法用CSS來做到這一點,但是擁有某種位置在列表屬性會很棒。
非常感謝!
我有一個ul有幾個li元素,其中一個將始終有「活動」類。如何讓li.active元素始終出現在列表頂部?用ul裏面給定的類改變li元素的位置?
我不能控制產生這個列表的html輸出,所以我必須用css(最好)或javascript/jquery來做到這一點。 我想沒有辦法用CSS來做到這一點,但是擁有某種位置在列表屬性會很棒。
非常感謝!
如果(我認爲你這樣做),你需要操作列表項的實際的順序,正如你猜測的那樣,CSS本身不會削減它。你用'jquery'來標記這篇文章,所以我想你知道那個庫的選擇器等等。當然,你只需要(a)選擇類「活動」的li元素,然後(b)將所述項目插入無序列表的頂部?這在jQuery中是完全可行的。下面是這樣做的一個非常簡單的方法:
$('ul').prepend($('.active'));
這一切確實是抓住與類「活動」頁面上的第一個元素,並將其預先考慮到第一無序列表。這對於您的需求來說可能過於簡單,但希望它能幫助您找到更強大的解決方案。
如果我們假定列表項的高度將是恆定的(這是一個相當大的假設):
ul {
position: relative;
padding-top: 2em;
}
li {
height: 2em;
}
li.active {
position: absolute;
top: 0;
left: 0;
}
這是一個非常好的主意,但我無法知道這些項目是否總會有相同的高度。 無論如何,我會保持這個想法,以防萬一沒有其他事情出現。謝謝大衛 – 2010-02-19 14:40:14
嘿,我認爲這應該是綽綽有餘。我試試看,並找回你。謝謝 – 2010-02-19 14:43:54
這工作完美,再次感謝本 – 2010-02-21 15:16:49
很高興聽到它爲你工作! – Ben 2010-02-21 16:45:03