2013-11-21 37 views
0

猜測我有一個表單中的項目列表,我想選擇一些標籤並應用規則。用於多個標籤的CSS選擇器[for = name]

目前,我這樣做,我認爲應根據其他選擇規則的工作,

#form-list-element label[for=strategy-clickAppend], label[for=strategy-fixedRedirect], label[for=strategy-iframe] 
{ 
    font-weight: normal; 
} 

卻沒有。

如果有人出現過相同的問題或知道我錯過了什麼,將不勝感激。

感謝您的期待。

解決:

我剛剛解決我自己的問題沒有在css中指定元素規範。所以它看起來像

label[for=strategy-notImplemented], label[for=strategy-implemented], label[for=strategy-noDesktop], label[for=strategy-desktop] 
{ 
    font-weight: bold; 
} 

回答

2

雖然你寫了這個:

#form-list-element label[for=strategy-clickAppend], 
label[for=strategy-fixedRedirect], 
label[for=strategy-iframe] 

這是可能你的意思是這樣,這是更具體:

#form-list-element label[for=strategy-clickAppend], 
#form-list-element label[for=strategy-fixedRedirect], 
#form-list-element label[for=strategy-iframe] 

如果沒有其他strategy-xx標籤,你可以使您的選擇器更加簡單適用於現代瀏覽器:

#form-list-element label[for^="strategy"] /* starts with "strategy" */ 

在這兩種情況下,嘗試添加引號您的選擇:

label[for="strategy-fixedRedirect"] 
+0

但這意味着我必須寫#窗體列表元素三次。我實際上通過刪除元素規範進行修復。因此它看起來像標籤[for = strategy-notImplemented],label [for = strategy-implemented],label [for = strategy-noDesktop],label [for = strategy-desktop] font-weight:bold; } – mmrs151

+1

這就是它的工作原理,如果不修改您的HTML,您並沒有真正的選擇。 – BoltClock

0

你需要充分選擇的每個之後添加,試試這個:

#form-list-element label[for=strategy-clickAppend], 
#form-list-element label[for=strategy-fixedRedirect], 
#form-list-element label[for=strategy-iframe]{ 
    font-weight: normal; 
} 
0

我不知道這是否是一個專一問題,但如果你正在尋找專門在您「的形式列表元素」的ID針對各種標籤,你需要在每個標籤選擇器之前,重複的ID選擇,就像這樣:

#form-list-element label[for="strategy-clickAppend"], 
#form-list-element label[for="strategy-fixedRedirect"], 
... { 
2

您可以選擇[attr*=""]

#form-list-element label[for*="strategy"] { 
    font-size:normal; 
} 

有了這個你在for串字strategy搜索所有項目做到這一點。請記住將attr換成"quotes"

的演示http://jsfiddle.net/rP8g2/7/

+0

不,我不能,因爲會有其他列表項目與*策略 – mmrs151

+0

如果你有更多的項目與「戰略」的話,那麼它會選擇所有元素內id =「form-list-elemet」。 Id是獨一無二的。 – DaniP

+0

確切地說,這就是爲什麼你不能使用*策略,因爲目標是針對特定元素而不是全部。 – mmrs151