2011-03-23 72 views
10

我在我的屏幕,其ID以「test」結尾的幾桌:studentsTest,marksTest,classesTest等爲ID的具有相同字母結尾同樣風格

我希望它們都具有相同的風格。是否有一種方法可以爲所有對象使用相同的字符結尾來定義樣式?

感謝 Devora

回答

14

如果您可以更改標記,最簡單, acheiving這個瀏覽器兼容的方式就是使用「測試」類,例如:

.test {background-color:#FC0;} 

<table id="students" class="test">...</table> 
<table id="marks" class="test">...</table> 
<table id="classes" class="test">...</table> 

如果你不能夠更改加價,但你可以使用jQuery你可以樣式結束的ID與'測試'一樣:

$(document).ready(function(){ 

    $('table[id$=test]').css('background-color','#FC0'); 

}); 

您的最終選項,如果您不能或不會使用jQuery(或類似的)就是使用純CSS3。這使用與上述相同的語法,但僅適用於更現代的瀏覽器:

table[id$=test] {background-color:#FC0;} 
5

根據W3C這是理論上的可能,但只有在CSS 3

E [foo的$ = 「酒吧」]的E元素 「foo」 的屬性值恰好結束 與字符串「酒吧」

但是,我認爲這是遠離它的最佳方式,因爲它只能在最新的瀏覽器中工作。我也懷疑它的表現會很好。我建議你給你的元素,你需要共享一個類的共同風格,然後風格的類。

0

這是一個你一定會使用類的情況。

<table id="studentsTest" class="test"? 

如果某種奇怪的原因,你不能用這個你可以嘗試this jqery正則表達式過濾器應該能夠選擇元素,包括通配符。

0

我會建議只是一個類添加到他們像這樣:

<table class="test"> 

然後只是風格的標準類

.test { 
    border: 1px solid #f00; 
} 

等等等等,更好,更語義。通過這種方式,您可以將測試後綴放在您的ID中,然後與學生,商標等一起去確定描述您的餐桌包含的內容。

相關問題