2013-01-15 1 views
1

라이트 뷰 구현을 사용하여 이미지를 볼 수있는 HTML 문서로 작업 중이며, API 관련 이유로 동일한 요소 ID를 사용합니다. 두 개는 하나의 썸네일보기 용이고 하나는 라이트 박스/전체보기 용입니다. 이 요소들은 별도의 <div> 태그 안에 있습니다.CSS 선택기를 사용하여 다른 클래스와 동일한 ID를 가진 요소를 찾으십시오.

두 요소의 클래스 값이 다르므로 선택기를 작성할 때 두 요소를 구분하는 방법이 궁금합니다. 그것은 #myElementWithDuplicateID.className1#myElementWithDuplicateID.className2과 같은 것입니까?

일반적으로 페이지의 다른 요소에 대해 동일한 ID를 사용하는 것이 좋지 않습니까? 아니면 인식하지 못하는 상황이 있습니까?

+1

예. 다른 요소에 대해 동일한 ID를 사용하는 것은 나쁜 습관입니다. 요소 ID는 전체 문서 내에서 고유해야합니다. 1999 년 사양의 – srijan

+1

: http://www.w3.org/TR/REC-html40/struct/global.html#adef-id –

답변

2

중복 ID는 HTML 문서에서 유효하지 않으며 특히 스크립팅에 문제가 있으므로 사용 방법이 널리 퍼진 것으로 간주됩니다. 공통 ID를 가진 요소가 공통 클래스를 대신 가지는 것이 정당화되는 상황은 없습니다. Lightbox API 및 다른 곳에서 발생할 수있는 문제를 방지하려면 중복 ID를 수정해야합니다.

즉, ID를 중복 제거 할 수 없기 때문에 제안 된 솔루션 (연결 ID 및 클래스 선택기)이 작동합니다. CSS의 고독한 ID 선택기는 중복 여부에 관계없이 모든 요소를 ​​지정된 ID와 대조하므로 클래스 선택기를 사용하여 차별화 할 수 있습니다. Further reading.

+0

감사합니다. 나는 그 ID를 중복 제거하도록 강요 할 것이다. – larryq

관련 문제