0
多个项目,我有这样的jQuery的功能:追加上点击
HTML:
<div class="item">
<div class="imageWrap">
<img class="img-responsive" src="images/wine_large.png" alt=""/>
</div>
</div>
JS:
function reserve_selected() {
$('.myReserve').on('click', ".item", function(e) {
e.preventDefault();
$(this).toggleClass('selected');
if($(this).hasClass('selected')) {
$(this).find('img').css("display", "none");
$(this).find('.imageWrap').append('<span class="icon-selected-tick"></span>');
} else {
$(this).find('.imageWrap').remove('<span class="icon-selected-tick"></span>');
$(this).find('img').css("display", "block");
}
});
}
的事情是....当我点击了”。项目“,我想添加类.selected。如果选择该项目,图像需要隐藏,而不是放置一个图标。我无法修改html,因此我使用append添加图标。
如果我再次点击,并且该项目已选择了类,产品图像需要再次出现,并且图标消失,但是如果我单击,它会正确添加它,如果再次单击它,它会将其删除并显示回到图像,但如果我再次点击,图标出现两次,然后再次点击,图像显示正常,图标消失,但如果我再次点击,图标出现三次等等,我做错了什么?为什么要追加两次?
谢谢
还提供了其reserve_selected的HTML()函数被调用 –
无法提供HTML与要删除的属性,你需要选择的元素本身。使用'$(this).find('。imageWrap span')。remove()' –
Mayank Pandeyz在文档准备就绪时调用它,我把它放在一个函数中,不要弄乱jquery文件,直到我知道它工作正常 –