为什么地图没有返回正确的结果
问题描述:
我试图通过一个dom元素的数组进行循环,如果它匹配一个特定的条件,只返回dom元素。在下面的情况下,如果id属性等于“0”的值并且它具有带有类名记录的子元素。 我已经尝试了下面的代码,但它始终返回元素0,即使它没有带有类记录的子代。为什么地图没有返回正确的结果
var el = shows.map(function(index, element) {
if (this.id == "0" && $(element).children('.record')) return this;
});
答
变化$(element).children('.record')
变为$(element).children('.record').length
。
如果jQuery没有找到任何元素,它将返回一个空数组,它将JavaScript转换为true
。
答
尝试在不希望映射数组中的项目的情况下特定返回null。
var el = shows.map(function(index, element) {
if (this.id == "0" && $(element).children('.record'))
return this;
else
return null;
});
答
尝试使用jQuery
$(element).filter(function(key, value){
return $(value).children('.record').length>0;
});
您可以发布您HMTL? – elclanrs 2012-02-21 21:41:58