在jQuery

时间:2016-02-16 10:25:14

标签: javascript jquery events append

var thumbDom = '';

for (var i = 0; i < 10; i++) {
  thumbDom = thumbDom + '<div id = "div-" ' + i + '>DIV-'+ i +'</div>';
  bindEvent(i);
}

$('#parent').append(thumbDom);


function bindEvent(i){
  $('#div-' + i).click(function(event) {
        alert(i);
  });
}

我知道代码无法正常工作,因为在dom追加之前绑定事件是绑定的。 但是,无论如何在附加到dom树之前将click事件绑定到许多动态doms?

我不想使用$(document).on('click,...,我想将事件绑定到子节点。

任何建议都会有所帮助,谢谢〜

Fiddle Here

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方法:

  • 定义<div></div>
  • 设置其idinnerHtml
  • 将其与onclick事件(提醒其id
  • 绑定
  • 将其附加到“#parent”项目
$(function() {
    for (var i = 0; i < 10; i++) {
        $("<div></div>")
            .attr("id", "div-" + i)
            .html("DIV-" + i)
            .click(function() {
                alert($(this).attr("id"));
            })
            .appendTo("#parent");
    }
});