Javascript 使用动态div绑定jquery

Javascript 使用动态div绑定jquery,javascript,jquery,Javascript,Jquery,我对jquery有一个问题。假设我在jquery中有两个div <div id='1'> //static div </div> <div id='2'> //dynamic div </div> 这样,当文档中存在动态div时,我可以做一些事情。如何执行此操作?当元素变为可见时,不会触发“显示”事件。您必须将处理程序绑定到事件,该事件首先导致元素可见。在本例中,这似乎是第一个div上的单

我对jquery有一个问题。假设我在jquery中有两个div

<div id='1'>               //static div
</div>

<div id='2'>               //dynamic div
</div>

这样,当文档中存在动态div时,我可以做一些事情。如何执行此操作?

当元素变为可见时,不会触发“显示”事件。您必须将处理程序绑定到事件,该事件首先导致元素可见。在本例中,这似乎是第一个div上的单击事件:

$(document).on("click", "#1", function() {
    $("#2").toggle();

    if ( $("#2").is(":visible") ) {
        alert("div 2 present");
    }
});
注意,根据HTML4规范,元素ID不应该以数字开头。然而,在HTML5中这是可以的

需要注意的进一步改进是,当将处理程序绑定到动态生成的元素时,最好以最近的静态父元素为目标,而不是允许在
文档
级别处理委托;i、 e.do
$(“#父项”)。在(“单击”,元素,函数(){})

最后,由于
是静态的,因此不需要委托事件处理程序,可以直接绑定处理程序:

$("#1").click(function () {
    //...
});

当元素变为可见时,不会触发任何“显示”事件。您必须将处理程序绑定到事件,该事件首先导致元素可见。在本例中,这似乎是第一个div上的单击事件:

$(document).on("click", "#1", function() {
    $("#2").toggle();

    if ( $("#2").is(":visible") ) {
        alert("div 2 present");
    }
});
注意,根据HTML4规范,元素ID不应该以数字开头。然而,在HTML5中这是可以的

需要注意的进一步改进是,当将处理程序绑定到动态生成的元素时,最好以最近的静态父元素为目标,而不是允许在
文档
级别处理委托;i、 e.do
$(“#父项”)。在(“单击”,元素,函数(){})

最后,由于
是静态的,因此不需要委托事件处理程序,可以直接绑定处理程序:

$("#1").click(function () {
    //...
});

spec没有那么严格-
该值在元素的主子树中的所有ID中必须是唯一的,并且必须至少包含一个字符。该值不能包含任何空格字符。
@wirey感谢您指出这一点。我想我指的是HTML规范不是那么严格-
该值在元素的主子树中的所有ID中必须是唯一的,并且必须至少包含一个字符。该值不能包含任何空格字符。
@wirey感谢您指出这一点。我想我指的是HTML