所以,我有一个HTML文件,其中有一些可以称之为“盒子”。每个框都有一个ID:CC1,CC2等。我正在寻找某种类型的循环,在其中键入CC并在末尾添加i
,因此它应该询问CC + i
是否存在。长度
我在这里的目标是停止现有的最高CCi
。这是我的尝试:
for (i=1; $('#cc'+i).length = 0; i++ ){
console.log('#cc'+i)
}
谢谢!
var i
for (i=1; $('#cc'+i).length = 0; i++ ){
console.log('#cc'+i)
}
.container{
width:50px;
height:50px;
background-color: #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class = 'container' id = 'cc1'>
<div class = 'container' id = 'cc1'>
(对不起,我第一次使用摘要)
答案 0 :(得分:0)
这应该可以完成工作:
var i = 0;
while($('#cc'+i).length > 1){i++}
console.log('cc'+i);
console.log将返回最高抄送
答案 1 :(得分:0)
不确定它是否完全满足您的需求,但是也许您可以在此基础上构建!
我只是检查以cc开头的所有元素的长度。
您的代码中的问题是循环没有到此为止。您一直循环播放直到i = 0,这永远不会发生
$count = $('div[id^="cc"]').length;
console.log($count);
div{
background-color:blue;
margin:1rem;
color:white;
text-align:center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="cc1">
1
</div>
<div id="cc2">
2
</div>
<div id="cc3">
3
</div>
<div id="cc4">
4
</div>
<div id="cc5">
5
</div>
<div id="cc6">
6
</div>
答案 2 :(得分:0)
只需对您的for-loop
进行小幅修复,请尝试以下操作:
for (var i = 1; $('#cc' + i).length !== 0; i++){
console.log('#cc' + i)
}
这将从#cc1
开始,循环直到#cc<number>
不存在,并打印所有 do 存在的#cc<number>
值。
这就是循环变慢的原因:
应检查for-loop
的中间条件,以确保存在#cc<number>
元素,因为这是循环继续的条件。当您拥有$('#cc'+i).length == 0
(添加第二个等号以修复格式)时,这基本上是在说“如果元素不存在则继续循环”,这不是您所需要的。想要。