2012-05-15 148 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

我知道,但主导航的这种变化似乎出乎意料,我正在寻找一个快速解决方案。 –

相关问题