$(function () {
$('a.detials').on('click', function (ev) {
$(this).next('div').toggle();
});
});

这里的问题是我想在锚标签点击时将div设为toogle。但是我的代码存在问题我不知道是什么问题。我在google上搜索以达到此结果,当我点击时div没有打开锚标签,我需要帮助。
$(function(){ $(' a.detials')。on(' click',function(){ $(' + div',this).toggle();`` }); });
<asp:DataList ID="dtlRoomsPrice" Visible="false" orizontalAlign="center" runat="server" ShowFooter="False" ShowHeader="False" Width="700px" OnItemDataBound="dtlRoomsDetails_ItemDataBound">
<ItemTemplate>
<a href="javascript:void(0);" class="detials">ShowDetails</a>
<div class="shoow" id="div_ID" style="width:687px;height:110px;background-color:rgb(247,239, 216);border-radius: 5px;box-shadow: 7px 6px 5px #888888; border: 2px solid gray; display:none;padding: 5px; ">
<asp:Label ID="lblAmiintiesTxt" runat="Server" CssClass="shbe_label" Text="<%$ Resources:Resource,Amenities %>" Visible="false"></asp:Label>
<asp:Label ID="lblAmiinties" runat="Server" CssClass="shbe_h2" Text='<%# Eval("Amenities") %>' Visible="true"></asp:Label>
</div>
</ItemTemplate>
</asp:DataList>
&#13;
答案 0 :(得分:0)
因为第一次点击没有分配点击处理程序。这就是发生的事情:
togglee
togglee
会添加另一个点击处理程序。这绝对不是您想要的。)我不确定您为何使用此togglee
功能,但您不需要它。从元素中删除内联JavaScript:
<a href="javascript:void(0);" class="detials">ShowDetails</a>
并在页面加载时分配点击处理程序:
$(function () {
$('a.detials').on('click', function() {
$('+ div', this).toggle();
});
});
然后第一次点击该元素(以及任何后续点击)将调用该点击处理程序。