2017-05-31 17 views
1
<div class="slides"> 
<img class="item-1 cardone" src="images/cardone.jpg"/> 
<img class="item-2 cardtwo" src="images/cardtwo.jpg"/> 
<img class="item-3 cardthree" src="images/cardthree.jpg"/> 
<img class="item-4 cardfour" src="images/cardfour.jpg"/> 
<img class="item-5 cardfive" src="images/cardfive.jpg"/> 
</div> 

<img class="cardone" src="images/cardone.jpg"/><!-- gets added to slides on click, existing image with same class removed at the same time--> 

$('.cardone').click(function(){ 
    var newSrc = $(this).attr('class'); 
    $(this).insertAfter($('.slides img:nth-child(2)')).addClass('item-3'); 
    $('.slides img').not(this).removeClass(newSrc); 
}); 

当cardone被点击后,它被添加到幻灯片中,试图用相同的类名替换现有的图像。我得到的最远的是删除类,但不是图像本身。删除现有的同级同级,但不是这样

+0

鉴于您插入'img'而不是简单地改变其'src' ,你会发现img要插入后,所以你可以使用相同的代码来删除img:'$('。slides img:nth-​​child(2)')。remove();' - 就是你想到了? –

+0

@ freedomn-m由于放置在我的传送带上,在第n个孩子(2)处插入该特定图像。问题是我需要删除具有相同src属性的相同图像。我试图改变src,所以图像基本上会消失,但也有问题。如果你可以通过一切手段改变src –

+0

你可以传递事件作为参数,并且比下面的代码行可以帮助:$(event.target).not(this).removeClass(newSrc); – Nimmi

回答

1

你可以像下面: -

$("."+newSrc+"").not(this).remove(); 

例子: -

$('.cardone').click(function(){ 
 
    var newSrc = $(this).attr('class'); 
 
    $("."+newSrc+"").not(this).remove(); 
 
    $(this).insertAfter($('.slides img:nth-child(2)')).addClass('item-3'); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="slides"> 
 
<img class="item-1 cardone" src="images/cardone.jpg"/> 
 
<img class="item-2 cardtwo" src="images/cardtwo.jpg"/> 
 
<img class="item-3 cardthree" src="images/cardthree.jpg"/> 
 
<img class="item-4 cardfour" src="images/cardfour.jpg"/> 
 
<img class="item-5 cardfive" src="images/cardfive.jpg"/> 
 
</div> 
 

 
<img class="cardone" src="images/cardone.jpg"/> // gets added to slides on click, existing image with same class removed at the same time.

+0

我想通过删除src将删除图像元素,但它不会因为类“item-1”被附加到它。我想我需要img完全删除,而不仅仅是src。但是你完全按照我的想法去做。 –

+0

@BradVanderbush立即查看 –

+0

太棒了!这也适用。在这之前的代码我分开了,并使其工作。 $(+ newSrc + “ ”“。”)不是(这个)卸下摆臂( 'IMG')。帮了很多忙。 –