Feedburner を使用してフィードを表示しています。フィードのテキストが同じ場合があります。特定のフィードの「重複」を「非表示」にしたいと思います。次のように、feedburner スクリプトを div 'unique' 内にラップしました: jsFiddle
「インデックス」に一致するフィードのみを表示したいので、フィードに display:none を設定しました。変数が「表示」されない理由がわかりません
.text()
クエリが間違っていると思います。
var a = $('.unique a').text();
上記はテキストのみを返します。
男はBiddinghuizenMinder tienermoedersダンooit vliegtuigje Overdinkel'Broer vermoorde honkballer ontoerekeningsvatbaar'Boete VOOR RET OM studentenreisgegevensDode BIJクラッシュvoetenGroteブランドvrije liftschacht RotterdamBulgarije geeft写真vrijバンtweede verdachte bomaanslagStraat ontruimd BIJグロートブランドOverdinkelAsielアサンジverandert niets VOOR LondenMoordenaar honkballer Halman OPにVALナDOODネダーランドで
繰り返すことはできません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
このオブジェクトは、のを割り当てるプロパティとしてを追加することにより、すでに処理した各アンカーテキスト値の記録を保持します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
itemText
プロパティが存在する場合は、プロパティtrue
に割り当てた値として値が返されます。すでに処理した値をソースから削除します。
プロパティが見つからない場合は、undefined
が返され、プロパティがオブジェクトに動的に追加されunique
、値が。に割り当てられますtrue
。
ソースから重複が削除されたので、コンテナを再び表示します。