回答
這是不可能的與CSS,因爲你通過選擇一個祖先的基礎上的後代對抗級聯。
我可以提供,並建議最好是一個jQuery的方法:
$(document).ready(
function() {
$('.givenClassName').parent().addClass('something');
}
);
此找到與givenClassName
的元素,然後選擇它的父元素,並增加了類something
該元素。
@Blaenk建議了一種替代方法,它更通用(他的方法不要求祖先元素是您選擇的元素的父元素)。
很明顯,其他JS庫和JS本身都可以達到同樣的效果,但我不能提供特別的建議,因爲我仍然只是熟悉自己的JS和主要與jQuery(爲什麼是的,我am慚愧自己......)。
+1設置樣式,並且您的代碼示例中有未封閉的引用。 – 2010-09-07 20:58:06
@Jeff Rupert,感謝+1和更正(編輯更正)=) – 2010-09-07 21:00:26
哈哈,我和你在Javascript和jQuery上一樣。一直在閱讀一些書,以加快速度。 Javascript:The Good Parts和jQuery in Action,第二版 – 2010-09-07 21:01:08
不可以CSS CSS級聯不允許使用這種選擇器。
在這種情況下,最好的解決方案是使用JavaScript修改DOM,或者更改生成的HTML以將類添加到ul
標籤。
據我所知,這不幸的是不可能與CSS。
如果你可以使用Javascript,jQuery有一個很好的方法來使用closest()
方法。 documentation它甚至列出了一個非常類似於你的例子:選擇一個具有特定類的li的ul。
$("li.some-class").closest("ul");
請原諒我,如果這不是在jQuery中做到這一點的最好方法。我實際上對jQuery並不熟悉,這是迄今爲止我學到的方法之一,而且看起來很合適。
對於更通用的(比我的)jQuery方法+1。 – 2010-09-07 21:01:01
- 1. 選擇基於CSS的子元素
- 2. 基於同一類型的前一個元素選擇元素
- 3. JQuery從父元素中選擇基於多個類的子元素
- 4. 基於子元素值選擇父XML元素LINQ C#
- 5. 禁用基於類的選擇元素選項
- 6. 基於子元素
- 7. 基於文本選擇元素
- 8. 用於子元素的jquery選擇器
- 9. 選擇/於子元素匹配的XSLT
- 10. 基於其前一個兄弟的孩子選擇元素
- 11. XML模式選擇基於父項的子元素屬性
- 12. 基於元素名稱子字符串的XSLT節點選擇
- 13. 基於父級的屬性值選擇子元素
- 14. JQuery的:如何獲得元素的類選擇基於函數
- 15. 選擇子元素的父類
- 16. 選擇基於多個類別的元素
- 17. Google chrome開發者工具:基於css類的元素選擇
- 18. 基於類屬性的LINQ選擇列表元素
- 19. 顯示基於選擇選擇的元素 - jQuery,HTML
- 20. 選擇基礎元素?
- 21. 基於其他元素值選擇元素
- 22. 用於選擇地理位置的基於Web的UI元素
- 23. 嘗試選擇由子元素元素
- 24. 基於單選按鈕選擇的互斥元素
- 25. 用jquery選擇子元素
- 26. 用linq選擇子元素
- 27. jquery選擇子元素
- 28. jQuery:選擇「this」子元素
- 29. 基於類獲取元素的子基數?
- 30. 選擇子元素而不選擇父元素
[CSS父選擇器]的可能重複(http://stackoverflow.com/questions/1014861/css-parent-selector) – 2010-09-07 20:58:03
是的,它確實是重複的。謝謝 – akonsu 2010-09-07 23:02:00