Jquery隐藏和显示无法正常工作

时间:2013-11-12 14:22:01

标签: jquery asp.net toggle

这是我的jquery

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

这是我要切换的div whics的声明

 <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根本不会出现。这是什么错误?

3 个答案:

答案 0 :(得分:2)

尝试使用.preventDefault()阻止锚点的默认操作,例如:

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

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

答案 1 :(得分:1)

试试这段代码:

$(document).ready(function () { 
  $('#<%=lnkButtonSchools.ClientID %>').click(function () {
     $('#<%=divSchools.ClientID %>').toggle();
     return false; 
  });
});

答案 2 :(得分:0)

问题可能是因为锚标记获取了一个触发器并加载了该页面。

试试这段代码:

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

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