前往刚添加到DOM一个jQuery元素访问(Getting access to a jquery e

2019-08-31 14:14发布

我只是追加是在诸如DOM元素:

$("#div_element").append('<a href="#">test</a>');

紧接着我追加它,我需要访问我只是以一个点击功能绑定到它作出的元素,我想:

$("#div_element").append('<a href="#">test</a>').click(function(){alert("test")});

但上面没有工作。 我唯一能ID的元素,但似乎像一个有点太多的工作时,也许有一种方法可以让我得到之后我附上它的元素。

Answer 1:

你可以这样做:

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的元素能够连接处理程序。



Answer 2:

var $a = $('<a />', {href:"#"})
  .text("test")
  .on('click', function(e) { 
     alert('Hello') 
  })
  .appendTo('#div_element');

http://jsfiddle.net/33jX4/



Answer 3:

为什么不保存到新元素的引用您将追加之前:

var newElement = $('<a href="#">test</a>');
$("#div_element").append(newElement);
newElement.click(function(){alert("test")});  


Answer 4:

添加身份到element ,然后按如下方式使用它

$("#div_element").append('<a id="tester" href="#">test</a>');


$('#tester').on('click', function(event) {
console.log('tester clicked');
});


Answer 5:

最后一个元素将是新元素

$('a:last','#div_element').on('click',function(){
    // do something
});


Answer 6:

当你创建你可以将事件元素 -

var ele =$("<a href='#'>Link</a>");

ele.on("click",function(){
    alert("clicked");
});


$("#div_element").append(ele);


Answer 7:

刚装上单击处理到锚之前,其追加。

$("#div_element").append($('<a href="#">test</a>').click(function(){alert("test")}));


文章来源: Getting access to a jquery element that was just appended to the DOM