将 div 移动到另一个 div 中时,jQuery 显示/隐藏不起作用

标签 jquery asp.net

我一直在绞尽脑汁地想这个问题,但不明白为什么当我将 div 放入转发器中时 jQuery 不会显示/隐藏它。这是我试图显示/隐藏的 div:

<div id="EmailForMoreInfo">Hey there!</div>

我用来显示/隐藏它的 jQuery 在这里:

if (event.srcElement && event.srcElement.hash == "#2") {
    $("#EmailForMoreInfo").show();
} else {
    $("#EmailForMoreInfo").hide();
}

“EmailForMoreInfo”的位置放置在转发器内:

    <div class="panes">
    <asp:Repeater ID="rptProductsCategories" runat="server">
        <ItemTemplate>
            <div id="tabs-<%# DataBinder.Eval(Container.DataItem, "Key") %>">
            <div id="EmailForMoreInfo">Hey there!</div>
            <br style="clear:both;" />
            </div>
        </ItemTemplate>   
    </asp:Repeater>
    </div>

当“EmailForMoreInfo”放置在中继器内时,上述 jQuery 不起作用。将其移到中继器之外,一切正常。分析 jQuery 表明,它发现该元素在任何一种情况下都很好,但只有当它位于转发器之外时,它才能真正正确地显示/隐藏。否则,它总是显示。还有其他人遇到过这个问题并有解决方法吗?

最佳答案

中继器让我觉得页面上不止一个。基本的第一天 html 说:你不能拥有具有相同 ID 的东西!

所以,你必须给它一个通用的类,但是一个唯一的ID。不过,我们必须查看更多代码才能弄清楚解决此问题的最佳方法到底是什么。

当页面上有多个具有相同 id 的内容时,jquery 会变得非常困惑。

关于将 div 移动到另一个 div 中时,jQuery 显示/隐藏不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875705/

相关文章:

c# - 多线程环境中静态类的线程文化

asp.net - Azure Web 角色中的网站项目

javascript - 如何访问 iframe 元素选择器?

javascript - 单击另一个 div 时更改(切换)css

javascript - XMLHttpRequest 发送文件请求对于大文件给出 404 错误

asp.net - 授予网络服务帐户对 ASP.NET Web 应用程序的读/写权限有什么危险?

jquery - 由于 jquery,Listview ItemCommand 没有触发

jquery - 循环遍历表单输入

javascript - 全屏模式下的 HTML5 视频检测按键

javascript - 如何在按钮可见时触发 javascript 事件?