Jquery:点击事件来移除()图像元素点击相邻的图像元素



这可能是一个非常奇怪或简单的错误。但这让我很头疼。下面的代码是针对2个<img>元素的单击事件处理程序。你点击一个分类为"撤销"的<img>元素-这应该删除被点击的<img>和分类为"bin"的元素,同时直接在它旁边。我设法把其中一个或另一个移走,但不能两个都移走。有人能帮忙吗?谢谢你!沃尔特。

JS:

$('ul').on('click','.undo',function(e) {
    $(this).remove();   
    $(this).prev().remove();
HTML:

<img src="images/bin.png" align="right" class="bin">
<img src="images/undo.png" align="right" class="undo">

一旦调用$(this).remove();,元素将从dom中删除,此后$(this).prev()将找不到任何元素,因为分离的元素之前没有任何兄弟元素

$('ul').on('click', '.undo', function (e) {
    $(this).prev().addBack().remove();

$('ul').on('click', '.undo', function (e) {
    $(this).prev().remove();
    $(this).remove();

将删除过程改为如下:

$('ul').on('click','.undo',function(e) {
    $(this).prev().remove(); 
    $(this).remove();   
});

你在这里做的是试图删除previous元素一旦current元素被删除,jquery将不会被删除能够找到this元素一旦被移除,就可以移除它的previous元素。所以只要先删除它的previous元素,然后删除current元素

我摆弄了一下剩下的代码,发现问题就在那里。问题出现在冒泡效果,并且项目是在通过DOM加载页面后添加的。

谢谢你的调查-我需要去分析我的代码的其他位导致这个不工作

最新更新