元素的jQuery选择器不在页面上

时间:2016-03-14 15:59:07

标签: javascript jquery

我在页面上有以下jQuery:

$('#nav-icon1,#nav-icon3').click(function(){
});

相应的HTML就像这样:

<div id="nav-icon3" class="">
    <span class="whitehamburger origin"></span>
    <span class="whitehamburger origin"></span>
    <span class="whitehamburger origin"></span>
    <span class="whitehamburger origin"></span>
</div>

页面上的任何地方都没有nav-icon1,但是当我将jQuery更改为:

$('#nav-icon3').click(function(){
});

它停止工作。

我错过了什么?谢谢!

3 个答案:

答案 0 :(得分:0)

是否有必要将该事件附加到您的div?检查你的跨度是否是位置&#34; relative&#34;因为如果他们是绝对的&#34;你的div&#34; nav-icon3&#34;高度可能不可见:0px。

添加事件的另一种方法是使用&#34; bind&#34;

$(function(){
    $("#nav-icon3").bind('click', function()
{
// some code...
});
});

$(function(){
    $("#nav-icon3").bind('click', _onNavClick);
});

function _onNavClick(event)
{
// some code...
}

答案 1 :(得分:0)

这似乎是不同的错误,你正在做的是如何工作。在这里查看jsfiddle.net/ed9xsh62/检查您的控制台或共享URL以检查确切的错误。

答案 2 :(得分:0)

    $(function(){
      $( "#nav-icon3" ).click(function() {
         //code goes here
         //can do a simple alert to test the function
      });
    });

有可能你在document.ready函数中没有你的代码(我使用的是速记版本)。我尝试了你的代码,只要它在document.ready函数中就能完美运行。