jQuery没有选择元素

时间:2017-02-03 13:28:17

标签: jquery html

我正在执行一个程序,当我单击按钮时会创建框。我有一个"模型"框隐藏所以当我点击按钮时,它会克隆模型框并更改其ID。

在这个框中,我有一个链接,点击时必须做一些功能,但jQuery似乎无法找到这个元素,所以当我点击链接时我什么也得不到。

这是我的代码:

$('#box-' + number).find('a').click(function(){
     alert('boop'); //function
});

变量'数字'是盒子的编号。正如我所说,当克隆模型框时,ID会被更改。

模型框是这样的:

<div id="box-model">
   <div class="box">
      <div class="heading">
         <a class="link-class">¡Click Me!</a>
      </div>
      <div class="body">
         CONTENT
      </div>
   </div>
</div>

2 个答案:

答案 0 :(得分:2)

您需要使用事件委派将事件附加到动态添加的元素。

由于id是动态生成的,因此您无法在事件委派中将它们用作选择器。您可以使用类选择器来定位Dim draggedNode As TreeNode = Nothing draggedNode = DirectCast(e.Data.GetData(GetType(TreeNode)), TreeNode) If draggedNode Is Nothing Then Exit Sub If Not (draggedNode.TreeView.GetHashCode = tvwStagingArea.GetHashCode) Then 'do whatever you want Exit Sub End If中的锚元素:

.header

答案 1 :(得分:-1)

$("body").find('#box-' + number).find('a').click(function(){
     alert('boop'); //function
});

问题是,jQuery在生成框之前加载了DOM。假设此代码位于$(document).ready(function())中,则在文档准备好时尚未生成您的框。你需要转到##;#box&#34;在开始时生成的父元素(它不一定是正文)