使用显示模块模式从动态元素获取元素ID
Getting element ID from dynamic element using Revealing Module Pattern
我有一个模块,它动态地创建了一些元素。由于它们是动态创建的,我使用静态元素$('#data-container)
来绑定事件,其中包含动态创建的元素,如:
var $dataContainer = $('#data-container');
var $deleteProject = $('.delete-project');
$dataContainer.on('click', $deleteProject, _deleteProject);
Sooo。。。。如果单击了按钮,则无法使用$(this)
获取ID
。上下文是#data-container
,而不是我单击的实际按钮。我还应该补充一点,那么,我该怎么做呢?以下是我的完整代码以更好地理解:
var $dataContainer = $('#data-container'); // Container holding dynamic elements
var $deleteProject = $('.delete-project'); // Delete buttons for elements
$dataContainer.on('click', $deleteProject, _deleteProject);
function _deleteProject(){
var project = $(this).attr('id'); // Doesn't work
console.log(project);
}
您可以从事件参数中获取ID。试试这个。事件应始终包含单击的目标。
function _deleteProject(event){
var id = event.target.id;
var project = $(this).attr('id'); // Doesn't work
console.log(project);
}
相关文章:
- 将列表元素动态添加到ul元素中
- 将输入 html 元素动态关联到颜色选取器
- 媒体元素 - 动态加载音频
- 根据其内部元素动态更改 CSS
- 编写脚本以向元素动态添加.current(类似活动类)的场景
- 使用knockoutjs虚拟元素动态创建html部分
- 将JS中的元素动态添加到XUL中
- 如何从jquery中获得元素动态附加的完整表
- 使用jquery向li元素动态添加类
- 点击事件不't在尝试将元素动态添加到<ul>标签
- 使用Knockout.js Issue将元素动态添加到嵌套列表中
- 如何从DOM元素动态禁用popover
- 将样式元素动态插入DOM的最后一种跨浏览器方式
- 无法将元素动态添加到数组中
- 指令如何等待元素'动态插值属性被处理?
- 设置活动元素和非活动元素(动态)
- 是否可以使用JS/PHP为网页中的元素动态分配ID
- 如何制造<光>元素动态调整以填充浏览器窗口的整个宽度
- 基于页面元素动态构建菜单结构
- 向现有元素动态添加删除绑定