我只是追加是在诸如DOM元素:
$("#div_element").append('<a href="#">test</a>');
紧接着我追加它,我需要访问我只是以一个点击功能绑定到它作出的元素,我想:
$("#div_element").append('<a href="#">test</a>').click(function(){alert("test")});
但上面没有工作。 我唯一能ID的元素,但似乎像一个有点太多的工作时,也许有一种方法可以让我得到之后我附上它的元素。
你可以这样做:
var el = $('<a href="#">test</a>');
$("#div_element").append(el);
el.click(function(){alert("test")});
// or preferrably:
el.on('click', function(){alert("test")});
追加函数接受两种类型的参数:一个字符串或一个jQuery元件。 在情况下,字符串传递中,它会在内部创建一个jQuery元素,并将其添加到父元素。
在这种情况下,你要访问的jQuery元素自己,这样你就可以将事件处理程序。 因此,而不是通过串并让jQuery的创建一个元素,你必须先创建元素,然后把它传递给附加功能。
你这样做之后,你仍然可以访问jQuery的元素能够连接处理程序。
var $a = $('<a />', {href:"#"})
.text("test")
.on('click', function(e) {
alert('Hello')
})
.appendTo('#div_element');
http://jsfiddle.net/33jX4/
为什么不保存到新元素的引用您将追加之前:
var newElement = $('<a href="#">test</a>');
$("#div_element").append(newElement);
newElement.click(function(){alert("test")});
添加身份到element
,然后按如下方式使用它
$("#div_element").append('<a id="tester" href="#">test</a>');
$('#tester').on('click', function(event) {
console.log('tester clicked');
});
最后一个元素将是新元素
$('a:last','#div_element').on('click',function(){
// do something
});
当你创建你可以将事件元素 -
var ele =$("<a href='#'>Link</a>");
ele.on("click",function(){
alert("clicked");
});
$("#div_element").append(ele);
刚装上单击处理到锚之前,其追加。
$("#div_element").append($('<a href="#">test</a>').click(function(){alert("test")}));