0

这是我的jQuery

$(document).ready(function () { 
    $('#lnkButtonSchools').click(function () {
        var dvSchools = $('#divSchools');
        dvSchools.toggle();
    });
});

这是我要切换的 div 的声明

 <div id="divSchools" runat="server" style="display:none">

这是锚按钮

 <a id="lnkButtonSchools" runat="server" class="span8 pad2" style="margin-left:0px;font-size:12px;">Limit by School</a>

单击锚按钮时,div 根本没有出现。什么是错误?

4

3 回答 3

2

尝试使用以下方式防止锚点的默认操作.preventDefault()

$('#<%= lnkButtonSchools.ClientID %>').click(function (e) {
    e.preventDefault();
    var dvSchools = $('#<%= divSchools.ClientID %>');
    dvSchools.toggle();
});

此外,<%= lnkButtonSchools.ClientID %>用于获取锚点的正确 ID,因为您的客户端 ID 模式不是静态的,

于 2013-11-12T14:23:19.737 回答
1

试试这个代码:

$(document).ready(function () { 
  $('#<%=lnkButtonSchools.ClientID %>').click(function () {
     $('#<%=divSchools.ClientID %>').toggle();
     return false; 
  });
});
于 2013-11-12T14:35:43.230 回答
0

问题可能是因为锚标记获得触发器并加载页面。

试试这个代码:

$(document).ready(function () { 
  $('#lnkButtonSchools').click(function () {
     var dvSchools = $('#divSchools');
     dvSchools.toggle();
     return false; // this code
  });
});

这将强制代码返回当前页面并停止进一步执行。因此停止锚标记以加载新页面。我希望这样 div 会得到一个display: block,因为你的代码是完美的;假设您已将网页正确连接到 .js 文件。

于 2013-11-12T14:30:19.800 回答