2011-03-23 25 views
10
benim ekranında var

kendi kimliği "test" ile biten bir kaç tablolar: studentsTest, marksTest, classesTest vbaynı stil

Onları hep aynı stilde olmasını istediğiniz . Aynı karakterle kimliğinin bittiği tüm nesneler için bir stil tanımlamanın bir yolu var mı?

Teşekkür Devora

cevap

14

İşaretinizi değiştirebiliyorsanız, en kolay ve en çapraz Bu acheiving tarayıcı uyumlu yolu, örneğin bir 'test' sınıfı kullanmaktır: Eğer mark-up değiştirmek mümkün değil ama sen sona kimlikleri biçimlendirebilirsiniz jQuery kullanmak mümkün değilse

.test {background-color:#FC0;} 

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

'test' gibi:

$(document).ready(function(){ 

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

}); 

Yapamazsanız veya son seçeneğiniz JQuery (veya benzeri) kullanmayın saf CSS3 kullanmaktır. Bu, yukarıdaki gibi aynı sözdizimini kullanır, ancak yalnızca daha modern tarayıcılarda çalışır:

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

W3C göre, teorik olarak mümkün ama sadece CSS'deki 3.

E [foo $ = "bar"] E eleman kimin "foo" özellik değeri tam olarak biter Bu sadece son tarayıcılarda çalışır çünkü bu konuda gidiş teh en iyi şekilde uzaktır söyleyebilirim Ancak dize "bar"

ile . Ayrıca performansın çok fazla olduğundan şüpheliyim. Bir stili ortak bir stili paylaşmanız için gereken öğeleri vermenizi ve sonra sınıfı stillemenizi öneririm.

0

Bu, kesinlikle sınıfları kullanacağınız bir durumdur. Garip nedenle çeşit Bunu kullanmak mümkün değilse

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

Eğer joker karakterler dahil eleman seçerken kapasitede olmalıdır this jqery regex filtreyi deneyebilirsin. Sadece çok gibi onlara bir sınıf eklemek için öneririm

0

:

<table class="test"> 

sonra sadece test sınıfı

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

stil vs vs iyi ve çok daha anlamsal. Bu şekilde, test soneklerini kimliğinizde bırakabilir ve tablonuzun ne içerdiğini kesinlikle belirten öğrenciler, işaretler vs. ile devam edebilirsiniz.