jQuery如何删除未定义的第一个元素?
我想在jquery数组中存储一些值。但问题是它会自动添加第一个元素——一个空白元素。我写了一个条件,如果第一个元素为空,就删除它。但它甚至没有达到这种状态 我的代码是jQuery如何删除未定义的第一个元素?,jquery,arrays,Jquery,Arrays,我想在jquery数组中存储一些值。但问题是它会自动添加第一个元素——一个空白元素。我写了一个条件,如果第一个元素为空,就删除它。但它甚至没有达到这种状态 我的代码是 var Ids= []; function delImg(newThis){ $(newThis).parent().hide(); var Id = $(newThis).siblings('.hidden').html(); if (Ids[0] == '') { Ids.splice(
var Ids= [];
function delImg(newThis){
$(newThis).parent().hide();
var Id = $(newThis).siblings('.hidden').html();
if (Ids[0] == '') {
Ids.splice(0, Ids.length);
alert('at least getting in to the condition!');
}
Ids.push(Id);
alert(Ids);
return Ids;
}
尝试使用“修剪”时,整个页面无法工作。由于此未定义的元素,当前我在第一个有效元素之前得到一个逗号。请尝试将if语句更新为:
if (Ids[0] == undefined)
它会自动添加第一个元素
实际上不可能。问题出在别处。我怀疑可能是这样的:
var Id = $(newThis).siblings('.hidden').html();
在对delImg的第一次调用期间,具有隐藏类的第一个同级可能没有任何html内容或自身不存在
顺便说一句,您需要重新考虑这一行。您正在尝试获取哪个兄弟的html内容?选择器将把所有同级元素与隐藏类匹配,从而返回一个集合。在这种情况下,您的语句将只返回第一个元素的内容。最好明确告知提取哪个兄弟姐妹:
var Id = $(newThis).siblings('.hidden').first().html();
你能做一把小提琴吗?@downvoter,再一次!!请解释一下你投反对票的原因。这将帮助我提高答案的质量。