在DOM操作插入后访问html元素

时间:2015-06-29 16:27:50

标签: javascript jquery html dom-manipulation

我有一个Jquery函数,当单击一个按钮add_entry时,在页面中插入一个“保存按钮”,就像这样;按钮显示,所以我假设该部分正在工作。

 $("#add_entry").click(function(){
    $("#add_entry").hide();
    $('#status').append(<button class="save_entry">Test</button>);
});

然后我还有另一个函数应该在单击上述保存按钮时调用:

 $(".save_entry").click(function(){
    alert("i dont work :/");
});

让我想知道......

a)DOM操作如何实际工作? - 由于jquery部分被包装到$ document.ready()方法中,这是否意味着我无法访问'on-the-fly'这样创建的元素?

b)当使用DOM操作注入元素时,它们永远不会出现在源代码中......为什么?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

对于动态添加的元素,您需要绑定如下的事件。

$(document).on("click", ".save_entry", function(){
    alert("i will work now");
});

根据Rory的建议,您还可以将事件绑定到 #status

$("#status").on("click", ".save_entry", function(){
    alert("i will work now");
});

供参考 - http://api.jquery.com/on/