2011-05-31 81 views
31

我有<div id='mydiv'>,我需要選擇所有prediv元素,它們是#mydiv的子元素。如何選擇多個給定元素的子元素?

我能做到這樣:

div#mydiv > pre, div#mydiv > div 

但是,能不能做到讓#mydiv被引用一次?

div#mydiv > pre, div 

將選擇頁面上的所有div小號不管他們的#mydiv孩子,所以逗號不是一個辦法做到這一點。也許還有另一種我不知道的語法?

+1

就是這樣......沒有其他辦法 – Teneff 2011-05-31 19:36:41

+2

那麼你不需要'div'在你的選擇器的開頭...... – Fosco 2011-05-31 19:39:02

回答

28

你必須參考#mydiv兩次......

#mydiv > pre, #mydiv > div 

我刪除了外來div元素選擇,作爲標識是不夠具體。

+1

同意刪除div限定符,但我沒有看到問題中提到的jQuery或標籤 - 也許只是把它寫成CSS? – clairesuzy 2011-05-31 19:49:58

+0

@clairesuzy很好的捕獲...更新。 – Fosco 2011-05-31 19:50:38

8

據我所知,選擇器分組沒有簡寫。

參見「Selector Grouping」。

雖然LESS可能在「嵌套規則」部分。

+2

這是LESS被設計處理的那種情況,看起來 – 2012-07-09 18:17:59

2

引用ID只有一次的唯一方法是與*選擇使用它:

#mydiv > * { 

將適用於所有元素屬於該分區的孩子。

取決於你打算應用什麼樣式這可能是可行的(我通常用這個來清除邊距,填充和邊框樣式),但它仍然可能是最好的第一種方式,因爲它可以更容易隨後做出例外/更改。