我正在嘗試定位具有子菜單項目的導航菜單項目,以便在項目之後放置向下箭頭。到目前爲止,我有這個:查找具有某些派生項目的元素
nav[role=navigation] ul li a:after {
padding-left:5px;
content: "\25BE";
color:#00b49c;
}
任何想法,我可以做到這一點?
我試過了:nav[role=navigation] > ul li a:after
但沒有運氣。
感謝鄉親
我正在嘗試定位具有子菜單項目的導航菜單項目,以便在項目之後放置向下箭頭。到目前爲止,我有這個:查找具有某些派生項目的元素
nav[role=navigation] ul li a:after {
padding-left:5px;
content: "\25BE";
color:#00b49c;
}
任何想法,我可以做到這一點?
我試過了:nav[role=navigation] > ul li a:after
但沒有運氣。
感謝鄉親
嘗試
nav[role=navigation] ul li a::after {
content: "\25BE";
color:#00b49c;
display: block;
float: left;
width: 20px;
height: 10px;
}
這不是定位父母的列表項 - 它定位所有項目,不管它是否有孩子。 – ladygeekgeek 2012-01-11 23:29:16
一些代碼在這裏:http://jsfiddle.net/bEqSE/4/ – ladygeekgeek 2012-01-11 23:30:05
對不起,我的壞:nav [role = navigation]> ul> li> a:在 – Adaz 2012-01-11 23:56:52
根據所提供的信息,我猜測,該UI被該分項目,對不對?如果是這樣的情況下,最好的解決方案,我可以想出(未經測試)是:
$(document).ready(function() {
$("nav[role=navigation]:has(ul)").each(function() {
$("ul li a", $(this)).after("\25BE").css({color: "#00b49c", paddingLeft: "5px"});
});
});
幾件事情需要注意,如果你是新來的jQuery:
$(document).ready(function() {});
方法。:has
選擇器特定於jQuery(據我所知,雖然它可能包含在CSS3或4中 - 只要出現)。.css
函數中的CSS屬性以逗號分隔,屬性名稱會遺漏使用的短劃線和短劃線之後的首字母大寫(例如paddingLeft)。ul li a
之後的$(this)
用於表示無序列表中的任何鏈接,它們位於.each
循環中當前對象內的列表項中。我不完全確定你要選擇什麼 - 無論是導航,ul還是li。無論如何,您應該修改上述代碼,以便您希望選擇的元素位於第一行的:之前。
如果我沒有很好地回答這個問題,請詳細說明你想要達到的目標,我會盡我所能修改我的答案以滿足你的要求。
你能告訴我們一個HTML代碼片段嗎? – djlumley 2012-01-11 23:09:45
nav [role =「navigation」] ul li a:在 – 2012-01-11 23:19:58
之後你僅限於CSS嗎?或者你會對jQuery開放嗎?如果後者接着jQuery有選擇器,比如'li:has(ul)'(選擇包含一個或多個'ul'標籤的所有'li'標籤)。如果jQuery沒問題,我會在明天發佈一個解決方案讓你接受。 – ClarkeyBoy 2012-01-11 23:47:52