2011-03-23 6 views
10
내 화면이

자신의 ID가 "테스트"로 끝나는 몇 테이블 : studentsTest, marksTest, classesTest 등같은 스타일은

나는 그들 모두가 같은 스타일을 갖고 싶어 . id가 같은 문자로 끝나는 모든 객체에 대한 스타일을 정의하는 방법이 있습니까?

감사 Devora

답변

14

마크 업을 변경할 수 있으면 가장 쉽고, 이 acheiving의 브라우저 호환 방법은 예를 들어, '테스트'클래스를 사용하는 것입니다 : 당신이 마크 업을 변경 할 수없는하지만 당신은 당신이 종료 ID에 스타일을 지정할 수 있습니다 jQuery를 사용할 수있는 경우

.test {background-color:#FC0;} 

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

다음과 같이 '테스트'를 사용하십시오.

$(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는"속성 값은 정확히 종료 나는 이것이이 최신 브라우저에서 작동하기 때문에 그것에 대해가는 TEH 가장 좋은 방법에서 멀리이다라고 말하고 싶지만 그러나 문자열 "바"

와 . 나는 또한 공연이 많이 될 것이라고 의심한다. 공통된 스타일을 클래스에 공유하고 클래스 스타일을 지정하는 데 필요한 요소를 제공하는 것이 좋습니다.

0

이것은 분명히 수업을 사용하는 경우입니다. 이상한 이유의 어떤 종류의 당신이 사용할 수없는 경우

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

당신은 와일드 카드를 포함 요소를 선택 할 수 있어야한다 this jqery 정규식 필터를 시도 할 수 있습니다. 난 그냥 그렇게처럼에 클래스를 추가하는 제안

0

:

<table class="test"> 

후 바로 테스트 클래스

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

의 스타일 등 등 더 나은 훨씬 더 의미. 그렇게하면 테스트 서 픽스를 ID에 드롭하고 테이블에 포함 된 것을 정확하게 설명하는 학생, 마크 등을 사용할 수 있습니다.

관련 문제