javascript - 使用 jQuery 定位动态添加的元素
问题描述
我知道如何在 jQuery 上使用 eventet 委托。要监听动态添加的元素,我必须使用以下..
$('body .some-class').on('click', '.dynamically_added_ele', function(){});
我很理解。来到实际问题。假设我有一个按钮和 DOM 元素,我想动态地添加到文档中。
<button class="my-button">Click Me</button>
var newDom = '<p class="new-dom">Hello there I am new content</p>';
现在我在按钮上绑定点击事件来创建新元素
var allow = true;
$('.my-button').on('click', function(){
var newDom = '<p class="new-dom">Hello there I am new content</p>';
if( allow ) {
$(this).after($(newDom));
} else {
$(newDom).remove(); // Not removing the new added element. Can't target that newly added element
}
allow = false;
});
变量 allow
将检查为,true
然后 jQuery 将创建该元素,最后一个allow
变量将是false
. 当再次使用单击该按钮时,将允许false
,那时 jQuery 应该删除新添加的元素。但在这里我面临着问题。我无法像上面编码的那样删除新添加的元素。
我现在能做什么?
解决方案
我必须像这样使用类选择器
var allow = true;
$('.my-button').on('click', function(){
var newDom = '<p class="new-dom">Hello there I am new content</p>';
if( allow ) {
$(this).after($(newDom));
allow = false;
} else {
$('.new-dom').remove();
allow = true;
}
});
推荐阅读
- iframe - 如何修复麦克风访问在仅影响 Google Chrome 的 iframe 中被阻止?
- javascript - 使用 JavaScript 从 URL 中提取路径的一部分的方法?
- dm-script - 如何以高效的方式应用 4D-STEM 数据集的虚拟孔径?
- string - 未定义的函数'芭蕾舞女演员/时间:Time.toString'
- unit-testing - Jasmine - 何时使用 toContain() 或 toMatch()?
- ios - 如何像线条一样实现 UIPageIndicator
- bash - Docker 使用 bash 脚本附加到 grep 重新启动的容器名称
- javascript - 如何修复代码以使功能正常工作
- reactjs - 导入嵌套 SCSS 模块失败 (Gatsby)
- javascript - 在参数中包含 javascript 数组