[英]JQuery Javascript for loop stops after first iteration
我有兩個<ul>
列表,我想在檢查目標列表中是否已存在某個選定元素之后將其從一個移到另一個,因此我不得不創建一個函數,該函數將選定的<li>
的文本與目標<ul>
的<li>
元素:
$(document).ready(function () {
$('html').on('click', 'li', function() {
$(this).toggleClass('selected');
});
//Déplacer vers la gauche
$('#btnLeft').click(function() {
var elementExiste = function(liste,selectionne){
var exists=false;
for(var x=0; x<liste.length; x++){
if(liste.children().eq(x).text()===selectionne){
exists=true;
break;
}
}
return exists;
}
var bool = true;
for(var i=0; i< $('.selected').length; i++){
if(elementExiste($('.list1'),$('.selected').eq(i).text())){
alert('Cet élément existe déjà');
bool = bool && false;
}
else {
bool = bool && true
}
}
if(bool)
$('.list1').append($('.list2 .selected').removeClass('selected'));
});
}
for循環在第一次迭代中工作正常,但是在此之后就中斷了
您將ul傳遞給函數,因此liste.length = 1您可以傳遞所有li元素:
elementExiste($('.list1 li'),$('.selected').eq(i).text()))
或在其中選擇li元素:
liste.children().length
這樣就可以遍歷所有這些對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.