我正在执行一个程序,当我单击按钮时会创建框。我有一个"模型"框隐藏所以当我点击按钮时,它会克隆模型框并更改其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>
答案 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;在开始时生成的父元素(它不一定是正文)