我正在使用 Feedburner 来显示提要。有时提要具有相同的标题。在这种情况下,我只想显示第一个标题并隐藏具有相同文本的所有其他标题。我试过这个:JsFiddle
没运气。我可以将它们称为“a”,但我不明白如何将它们彼此区分开来。
我正在使用 Feedburner 来显示提要。有时提要具有相同的标题。在这种情况下,我只想显示第一个标题并隐藏具有相同文本的所有其他标题。我试过这个:JsFiddle
没运气。我可以将它们称为“a”,但我不明白如何将它们彼此区分开来。
filter
您可以使用一个对象来收集所有提要标题及其 jQuery 元素,而不是使用该函数。该对象的行为与HashMap
Java 中的 a 类似,因为对象不能包含重复的键 - 因此重复的提要标题会自动消除。
var unique = { };
// Reverse elements to keep first occurence of feed title (and not the last one)
$($(".feedburnerFeedBlock li").get().reverse()).each(function(){
// Use feed title as key and jQuery element as value
unique[$(this).find("a").text()] = $(this);
}).hide();
// Show all unique elements
for (title in unique) {
unique[title].show();
}
JSFiddle:http: //jsfiddle.net/Aletheios/9GKBH/1/
此外,由于多种原因,您的代码无法正常工作。其中,jQuery 的.html()
函数只返回集合中第一个元素的 HTML 字符串(参见文档)。
尝试从显示的所有链接和这个 javascript 开始:
$(function() {
var $feeds = $(".feedburnerFeedBlock li a");
$feeds.each(function(i) {
var $that = $(this);
$feeds.each(function(j) {
var $this = $(this);
if (j <= i) {
return true;//continue
};
if ($this.text() == $that.text()) {
$this.hide();
}
});
});
});