2011-03-23 70 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中,然后与学生,商标等一起去确定描述您的餐桌包含的内容。

相关问题