2012-05-15 2 views
1

저는 MVC 프로젝트에서 전자 메일 읽기 기능을 만들기 위해 면도기와 부분 뷰를 사용하고 있습니다. 내 사이트를 통해 탭 탐색을 시뮬레이트하고 있으며 아래에 표시된 것처럼 동일한보기 (읽으려는 전자 메일의 내용) 중 하나 이상의 인스턴스가 나타날 수 있습니다.CSS 선택기가 동일한 ID를 가진 항목을 더 많이 찾습니다.

<div id="MainContainer" class="contentBg"> 
    <div id="d2773254"> 
      <div id="divEmail"> .... </div> 
    </div> 
    <div id="d2342353" style="display:none"> 
      <div id="divEmail"> .... </div> 
    </div> 
    ... 
</div> 

내 CSS 선택기는 "divEmail"및이 div의 모든 하위 참조 만 사용합니다. 선택기와 일치하는 페이지의 HTML 항목이 두 개 이상일 때 문제가 나타납니다.

또한 페이지 상단에서 첫 번째로 일치하는 항목으로 새 div를 추가하려고했습니다. 그것은 80 %의 경우에서 작동합니다. 그래서이 문제에 대한 해결책을 찾고 있습니다. 모든 셀렉터를 변경하고 싶습니다. 최상위 레벨 selector $ ('# divEmail'). parent()를 추가하여 일치하는 HTML 요소가 고유하다는 것을 보장합니다.

다른 해결책이 있습니까? 고마워요

+0

그냥 조언 : 두 개 이상의 요소에 대해 동일한 ID를 사용하지 마십시오. 요소 ID는 전체 문서 내에서 고유해야합니다. 내 샘플의 –

+0

d2773254 및 d2342353이 내 MainContainer div에 추가 된 동일한 인스턴스 (작업 -> 부분보기 결과)입니다. 필요한 것은 새로운 접근 방식입니다. –

답변

1

어떤 상황에서도 동일한 ID를 두 번 사용할 수 없습니다. 그래서 행동하면 완전히 무작위 일 수 있습니다.

대신 class="divEmail"을 사용하십시오.

+0

메인 탐색의이 변경 사항은 예상치 못한 것으로 보입니다. 빠른 해결책을 찾고 있습니다. –

관련 문제