代码之家  ›  专栏  ›  技术社区  ›  Paul Nathan

jQuery选择器未选择

  •  1
  • Paul Nathan  · 技术社区  · 14 年前

    我无法启动此事件:

      $("#about").click(function()
      {  //I have put alert("foo") here, won't fire
        $("#about_stuff").toggle();
      });
    

    剪断

       <li ><a href="#a" id="about">About</a>
    

    我已经在Firebug中测试了切换线,它成功地工作了——我在我的头脑中,我已经对照多个例子检查了它,它一直拒绝工作。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Paul Nathan    14 年前

    从您的代码:
    首先,你有 document.ready

    $(document).ready(
      function()
      { // <-- start ready
      $("code").hide();
      }); // <-- end ready
    

    下面的代码不在 准备好文件 ,并在加载链接之前写入。这就是运行此代码时选择器为空的原因:

      $("#about").click(
      function()
      {  
      $("#about_stuff").toggle();
        return false;
      });
    
        2
  •  0
  •   Joe Mastey    14 年前

    你偶然还有其他元素和 id="about" 分配给它?如果是,浏览器只能选择第一个。尝试一些基本诊断:

    alert($('#about').length);
    alert($('#about').eq(0).attr('href'));
    

    如果仍然没有乐趣,你有到开发人员网站的链接,还是它是私有的?

        3
  •  0
  •   Jekis    14 年前
    $("#about").click(function(e){  
        e.preventDefault(); // to prevent default event
        $("#about_stuff").toggle();
    });