2012-05-15 90 views
1

我正在使用Razor和部分視圖在我的MVC項目中創建讀取電子郵件功能。我正在模擬通過我的網站的Tab導航,並且此時可能出現多個同一視圖的實例(我想要閱讀的電子郵件的內容),如下所示。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%的案例,這就是爲什麼我要爲這個問題尋找解決方案。我想更改所有選擇器(添加頂級選擇器$('#divEmail')。parent())以確保匹配的HTML元素是唯一的。

有沒有另一種解決方案? 非常感謝

+0

只是一個建議:不要對同一個ID使用多個元素。元素ID在整個文檔中應該是唯一的。 –

+0

我的示例中的d2773254和d2342353是添加到我的MainContainer div中的相同實例(操作 - >部分視圖的結果)。我需要的是一種新方法。 –

回答

1

在任何情況下,您都不能使用相同的ID兩次。所以,如果你這樣做的行爲可以是完全隨機的。

在你的情況下,使用class="divEmail"來代替。

+0

我知道,但主導航的這種變化似乎出乎意料,我正在尋找一個快速解決方案。 –

相關問題