使用Jquery查找页面上有多个列表视图的正确ListView客户端ID
在我的网站中,我有一个包含2个listview的页面,每个listview包含多个div,对于每个div,我实施click事件,以便我可以将样式更改为所选的div,但这两个listview都会发生更改。我如何确保单击div时,只有父listview会受到影响?这是我的密码:使用Jquery查找页面上有多个列表视图的正确ListView客户端ID,jquery,asp.net,listview,Jquery,Asp.net,Listview,在我的网站中,我有一个包含2个listview的页面,每个listview包含多个div,对于每个div,我实施click事件,以便我可以将样式更改为所选的div,但这两个listview都会发生更改。我如何确保单击div时,只有父listview会受到影响?这是我的密码: <asp:ListView ID="ListView1" runat="server"> <LayoutTemplate> <div id="itemPlaceholder" runat
<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<div id="itemPlaceholder" runat="server"></div>
</LayoutTemplate>
<ItemTemplate>
<div class="box" runat="server"></div>
<div class="selectedBox" runat="server"></div>
<div class="box" runat="server"></div>
<div class="box" runat="server"></div>
</ItemTemplate>
</asp:ListView>
<asp:ListView ID="ListView2" runat="server">
<LayoutTemplate>
<div id="itemPlaceholder" runat="server"></div>
</LayoutTemplate>
<ItemTemplate>
<div class="box" runat="server"></div>
<div class="selectedBox" runat="server"></div>
<div class="box" runat="server"></div>
<div class="box" runat="server"></div>
</ItemTemplate>
</asp:ListView>
<script type="text/javascript">
$(".box").click(function () {
$(this).siblings().removeClass("selectedBox");
$(this).addClass("selectedBox");
});
</script>
这将为您提供对listview生成的HTML控件的引用
您还可以使用:
$(this).parents("ul");
希望这能有所帮助:我认为您的jQuery没有问题。请看一下我的考试。但是,将不会渲染在Layouttemplate中使用的div。在ItemTemplates中添加一个周围的div,这样就可以了
$(this).parents("ul");