如何使用javascript创建的元素作为jQuery选择器?

时间:2015-08-10 14:55:11

标签: javascript jquery html

我正在使用jQuery创建一个id为"取消"的html按钮。在我的实际页面上,单击我的#edit按钮将成功创建我的取消按钮。但是我无法在将来的jQuery操作中使用此取消按钮。有解决方案吗?



$(document).ready(function() {
  $("#edit").click(function() {
    $("#button").html("<input id='cancel' type='button' value='cancel' />");
  });
  
  // Here I want to access my new button
  
  $("#cancel").click(function() {
    ('p').hide();  
  });
    
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id='button'><input id='edit' type='button' value=edit /></span>
<p>Hide me upon cancel</p>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

是。的 event delegation

  

事件委托允许我们将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有后代触发,无论这些后代现在是存在还是将来添加。

在定位p元素时,您也缺少jquery选择器。

 $("#button").on('click','#cancel',function() {
   $('p').hide();  
 });