Javascript 试图停止删除'div',如果它是';s的长度在'0'或'1'处。有人能帮我吗?
尝试停止删除Javascript 试图停止删除'div',如果它是';s的长度在'0'或'1'处。有人能帮我吗?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,尝试停止删除div,如果它的长度为0或1。有人能帮我吗 以下是链接: HTML&JS: $(文档).ready(函数(){ $('.div')。单击(函数(){ $(this.remove(); var divLength=$('.main div').length; $('.mainLength').text(divLength++“divs”); if(divLength==1){ $(this.stop().remove(); } }); }); 第一组 第二组 第三组 第四组 我已经
div
,如果它的长度为0
或1
。有人能帮我吗
以下是链接:
HTML&JS:
$(文档).ready(函数(){
$('.div')。单击(函数(){
$(this.remove();
var divLength=$('.main div').length;
$('.mainLength').text(divLength++“divs”);
if(divLength==1){
$(this.stop().remove();
}
});
});代码>
第一组
第二组
第三组
第四组
我已经在你的小提琴上测试过了,我相信这就是你想要达到的行为
$(document).ready(function() {
$('.div').click(function() {
var divLength = $('.main div').length;
$('.mainLength').text(divLength + " " + 'divs');
if (divLength > 1) {
$(this).remove();
}
});
});
在删除div之前必须检查您的状况,如果长度不是1,则删除它并减小divLength
变量:
$(文档).ready(函数(){
$('.div')。单击(函数(){
var divLength=$('.main div').length;
if(divLength!==1){
$(this.remove();
等分长度--;
}
$('.mainLength').text(divLength++“divs”);
});
});代码>
第一组
第二组
第三组
第四组
试试这个:
var divLength = $('.main div').length;
$('.mainLength').text(divLength + " " + 'divs');
if(divLength > 1){
$(this).remove();
}
我尽可能简化您的代码,请查看以下内容:
$('.div')。单击(函数(){
如果($('.main.div')。长度>1)
$(this.remove())
});代码>
第一组
第二组
第三组
第四组
在删除div元素之前,必须检查div长度
$(document).ready(function () {
$('.div').click(function () {
var divLength = $('.main div').length;
if (divLength > 1) {
$(this).remove();
$('.mainLength').text(divLength - 1 + " " + 'divs');
//$(this).stop().remove();
}
});
});
为什么不仅在长度不同于1的情况下删除div而不是取消删除。您实际上不需要divLength--
,因为每次单击div
时divLength
都被设置为正确的数字。您尝试过吗?!如果单击div并删除一个div,则长度将减少一个div@vi5i每次单击该行时执行var divLength=$('.main div').length代码>。这将获得当时存在的div数,因此您在以前单击时删除的div将不再被此选择器找到。啊,等等,对不起,现在我知道您为什么这样做了。在代码$('.mainLength').text(divLength++“divs”)中,此行仍在它的下方代码>但您可以将该行向上移动到if语句之前。是的,对于先前的删除是可以的。但对于电流移除,它必须减少1。