我正在使用 Feedburner 来显示提要。有时,提要具有相同的文本。我想“隐藏”某个提要的任何“重复”。我已经将 feedburner 脚本包装在一个 div 'unique' 中,如下所示:jsFiddle
我为提要设置了 display:none,因为我只想显示与“索引”匹配的提要。我不明白为什么 var 没有“显示”
我认为.text()
查询不正确。
var a = $('.unique a').text();
以上仅返回文本:
男人DOOD娜的Val liftschacht RotterdamBulgarije geeft照片vrij面包车tweede verdachte bomaanslagStraat ontruimd BIJ格罗特品牌OverdinkelAsiel阿桑奇verandert niets VOOR LondenMoordenaar honkballer Halman运维杰voetenGrote品牌Overdinkel'Broer vermoorde honkballer ontoerekeningsvatbaar'Boete VOOR RET OM studentenreisgegevensDode BIJ崩溃vliegtuigje BiddinghuizenMinder tienermoeders丹ooit在荷兰
没有什么a
可以迭代的。
我想你可能想做:
var a = $('.unique a');
这将返回您现在可以迭代的项目列表。
我可以看到的下一个问题是您的过滤器方法只是遍历 12 个项目的数组并仍然返回相同的 12 个项目,索引处的项目将始终与当前项目匹配。
试试这个解决方案:
$(document).ready(function() {
var $a = $('.unique a');
var unique = {};
for (i = 0; i < $a.length; i++) {
var itemText = $($a[i]).text();
if (unique[itemText]) {
$($a[i]).remove();
}
else {
unique[itemText] = true;
}
};
$('.unique').show();
});
见演示
我声明unique
为一个对象。该对象将记录我们已经处理的每个锚文本值,方法是将 添加itemtext
为分配 of 的属性true
。这是可能的,因为 JavaScript 的动态特性允许您动态地将属性分配给对象。
Boete voor RET om studentenreisgegevens true ,
Bulgarije geeft afbeelding vrij van verdachte aanslag true ,
Ecuador verleent Wikileaks-baas Julian Assange politiek asiel true
调用时,unique[itemText]
我们要求unique
对象为我们提供名称与 in 匹配的属性的值itemText
。
如果属性存在,true
则返回值,因为这是我们分配给属性的值。我们现在将从源中删除我们已经处理过的值。
如果未找到该属性,则undefined
返回,我们将属性动态添加到unique
对象,为其分配true
.
现在去掉了源中的重复项,我们使容器再次可见。