我正在使用Feedburner来显示Feed。有时Feed会有相同的文字。我想'隐藏'某个Feed的任何'重复'。我已将feedburner脚本包装在div'unique'中,如下所示:jsFiddle
我为Feed设置了display:none,因为我只想显示与'index'匹配的Feed。我不明白var为什么不“显示”
答案 0 :(得分:1)
我认为.text()
查询不正确。
var a = $('.unique a').text();
以上只返回文字:
在Liftschacht RotterdamBulgarije geeft foto vrij van的男人d val na val tweede verdachte bomaanslagStraat ontruimd bij grote品牌 OverdinkelAsiel Assange verandert niets voor LondenMoordenaar honkballer Halman op vrije voeten在Overdinkel'Broer中创造了品牌 vermoorde honkballer ontoerekeningsvatbaar'Boete voor RET om studentenreisgegevensDode bij crash vliegtuigje BiddinghuizenMinder 在荷兰的tienermoeders dan 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();
});
请参阅DEMO
我将unique
声明为对象。此对象将通过添加itemtext
作为分配true
的属性来记录我们已处理的每个锚文本值。这是可能的,因为JavaScript的动态特性允许您动态地为对象分配proeprties。
Boete voor RET om studentenreisgegevens true ,
Bulgarije geeft afbeelding vrij van verdachte aanslag true ,
厄瓜多尔verleent Wikileaks-baas Julian Assange politiek asiel true
调用unique[itemText]
时,我们要求unique
对象为我们提供属性值,其名称与itemText
中的名称相匹配。
如果属性存在,则返回值true
,因为这是我们分配给属性的值。我们现在将处理它的值,因为我们已经处理了它
如果未找到该属性,则会返回undefined
,我们会将该属性动态添加到unique
对象,并为其指定值true
。
当源现在被剥离重复项时,我们再次使容器可见。