2010-11-23 5 views
1

각각 'createdDate'속성을 가진 div 목록이 있습니다. 각 div의 createdDate를 평가합니다. 다른 속성 'isNew'를 추가합니다. 7 일 미만인 경우 true를 설정하고, 그렇지 않으면 false를 설정합니다.CSS는 언제 해결/평가됩니까?

는 CSS가 있습니다

div[isNew=true] div.title{ background:red } 

7 일보다 작은 경우 배경 빨간색을 설정하려는.

firebug 및 ie Dev 도구를 사용하여 - 일치하는 규칙에 따라 빨간색으로 설정된 배경을 표시합니다.

브라우저에 빨간색으로 제목 div가 표시되지 않습니다.

CSS를 다시 그리기 위해 뉘앙스를 줄 수있는 방법이 있습니까? 또는 더 나은 방법?

+2

더 좋은 방법은 무엇입니까? 왜 각 특정 규칙에 대한 CSS 클래스를 만들지 않고 선택한 서버 측 언어를 사용하여 해당 클래스를 div에 추가하십시오. –

답변

1

을 필요로 할 때 .addClass()으로 jQuery를 통해 적용 또는 양식을 내가 마크 업 및 나머지 CSS 규칙을 확인하는 것이 좋습니다 것이라고 예상 등 http://jsfiddle.net/fcalderan/Gh7Ud/ 작품 , 어쩌면 그 스타일을 어딘가에 다시 정의 할 것입니다.

참고 : 코드에는 'isNew'속성이 필요합니다. html 코드를 제어하는 ​​경우에는 미래형으로 설정하는 것이 좋습니다 'data-isNew'으로 변경하는

Zlatev에서 제안한대로 '임시'클래스를 만드는 것이 다른 해결책이며 가장 오래된 브라우저가 CSS 속성 선택기를 인식하지 못하기 때문에 크로스 브라우저가 보장됩니다. BTW 나는 .red 클래스를 사용하지 않는 것이 좋습니다. 너무 많이 요소 스타일에 바인딩 될 것입니다 (색상을 변경하면 어떻게됩니까?). .newtitle

+0

멋진 도구 (jsfiddle) 이전에 본 적이 없습니다. 나는 당신에게 샘플을 비틀었다. 그래서 행동은 내가하려고했던 것을 따른다. 지금 실행하면 제목이 빨간색으로 변하지 않습니다. 그러나 검사는 그것의 빨간 말한다! – Adrian

+0

http://jsfiddle.net/Gh7Ud/2/ 내 변경 – Adrian

+0

Adrian 코드가 예상대로 작동하지만 (FF3.6.12를 사용하고 있습니다) 자바 스크립트 만 사용하면 작동합니다. 제목은 빨간색으로 배경이 검은 색입니다. –

0

그냥 새 규칙 생성 :

.red { background: red; } // to be safe and sure, you can make it important 

이 조각 때문에 백엔드

+0

예, 대신이 작업을 수행하도록 변환 중입니다. 나는 CSS와 코드를 따로 보관하려고했다. – Adrian

+0

클래스 이름으로'red'를 사용하지 않는 것을 제외하고, 그것을 파란색으로 바꾸고 싶다면 어떻게 될까? – roryf