我想在jquery数组中存储一些值。但问题是它是自动添加第一个元素 - 一个空白元素。我写了一个条件,如果它是空的,删除第一个元素。但它甚至没有达到这个条件。
我的代码是
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;
}
当尝试使用trim()时,整个页面都不起作用。目前我在第一个有效元素之前得到一个逗号,因为这个“未定义”元素。
答案 0 :(得分:0)
尝试将if语句更新为:
if (Ids[0] == undefined)
答案 1 :(得分:-2)
它会自动添加第一个元素
实际上并非如此。问题出在其他地方。我怀疑它可能就在这条线上:
var Id = $(newThis).siblings('.hidden').html();
在第一次调用delImg
期间,第一个hidden
类的兄弟可能没有任何HTML内容或者本身不存在。
作为一个,您可能需要重新考虑这一行。你试图得到哪个兄弟的HTML内容?您的选择器将匹配具有hidden
类的所有同级元素,因此返回一个集合。在这种情况下,您的声明将返回第一个元素的内容。最好明确告诉要提取哪个兄弟:
var Id = $(newThis).siblings('.hidden').first().html();