【发布时间】:2016-09-03 02:08:32
【问题描述】:
您好,我有以下 HTML:
<div id="screenlist">
www.sampleurl.com</br>
www.sampleurl.com</br>
www.sampleurl.com</br>
www.sampleurl.com</br>
www.sampleurl.com</br>
www.sampleurl.com</br>
</div>
我有一个在该列表中附加 URL 的按钮:
$('#screenlist').append(url + '</br>');
现在我想添加一个“X”以删除任何链接。
$('#screenlist').append(url + ' <span class="delete_icon" /></br>');
如何将点击事件附加到跨度元素上,该事件在创建的每个元素上都是动态的,并且在点击时会删除整个行?
有什么线索吗?
【问题讨论】:
-
$(document).on('click','.delete_icon',function(){//code here})阅读devent delegation 了解更多信息 -
您是否有任何理由不希望列表中的每个项目?
-
@NevilleNazerane 不,没有理由。问题是我有一个过滤器可以将这些元素放入一个数组中: var contents = $('#screenlist').html().split(/\n|\
/).filter(function(v) { return /\w+/.test(v); }); -
通常我们使用像 div 之类的东西来包装每个元素以获得更多访问权限并帮助使用 jquery 和 css(两种方式都可以获取新行)。如果没有 div,所有功能都需要像您所做的那样将整个 html 视为字符串来完成。例如,如果您使用 divs
$('#screenlist div').filter(function(v){ }),您的过滤功能可以更容易完成
标签: jquery