重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

jquery ajaxでサイトのRSSを読み込み表示させるスクリプトです。RSS2.0形式のxml要素のlink内が空の場合、<a>タグを入れたくないのですが、下のスクリプトだと、IE8では、<a>タグが入りませんが、firefoxでは入ってしまいます。
**************
$(xml).find('item').each(function(i){

if ( i > 4 ) {
return false;
}
var title = $(this).find('title').text();
var url = $(this).find('link').text();
var date = $(this).find('pubDate').text();

//日付を整形

date = dateChanger(date);

if(url==""){
$('#feedList dl').append('<dt>' + date[0] +'<\/dt>'+ '<dd>'+ title+'<\/dd>');
} else {
$('#feedList dl').append('<dt>' + date[0] +'<\/dt>'+ '<dd><a href="' + url + '">' + title + '<\/a><\/dd>');
}
});

****************
どの部分が原因でしょうか。どうぞご教示ください。

A 回答 (1件)

同じ環境で試してみましたが、


FireFox、IEともにlinkなしの場合は正常に判定されました。

なんでだろうと思っていろいろ弄ってたんですが、
もしや、空と思っているlinkに半角スペースとかタブは入ってませんか?

<link> </link>
とした場合、
IE : リンクなし
FF : リンクあり
となりました。

if(url == ""){
の部分を
if(url.indexOf("http") !== 0){
に変えたらどうなりますか?
    • good
    • 0
この回答へのお礼

すばらしいです!
解決しました。

RSS2.0仕様のフィードを作成できるフリーのHisotryEditorを使用しましたが、3件ほど何も入力せずともタブが入っていたようです。
(xmlでは、縦に表示されています。)

<link>
</link>

mikemike7様
ありがとうございました。

お礼日時:2011/06/13 09:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!