• 締切済み

javascriptでわからない所があります。

javascriptでわからない所があります。アドバイスお願いします。 ブログでajax feed apiを使いRSSを表示しようと思い下記のサイトのコードを貼ってみました。 サイト⇒http://www.zoezoe.net/2008/06/javascriptrssgoogle-ajax-feed.php 以下サイトのコード --------------------- <script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAA7_2e7OzfQnVgCZgpBhg3_RRuFDZ..."></script> <script type="text/javascript"> google.load("feeds", "1"); function initialize() { var feed = new google.feeds.Feed("http://www.zoezoe.net/atom.xml"); feed.load(function(result) { if (!result.error) { var container = document.getElementById("feed"); for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; var dd = new Date(entry.publishedDate); // now var yearNum = dd.getYear(); if (yearNum < 2000) yearNum += 1900; var date = '<li>' + yearNum + "年"+(dd.getMonth()+1)+"月"+dd.getDate()+"日 "; container.innerHTML += " " + date +"<a href='" + entry.link + "' title='" + entry.title + "'>" + entry.title + "</a></li>"; } } }); } google.setOnLoadCallback(initialize); </script> </head> <body> <ul> <div id="feed"></div> </ul> </body> --------------------- これをカスタマイズしたいのですが、以下のことができません。アドバイスお願いします。 ○表示したRSSの間に区切り線を入れたい ○日付の次を改行して    日付    タイトル のように表示したい。 ○別タブで開きたい。 一つでも分かりましたらアドバイスお願いします。 var date = '<li>' + yearNum + "年"+(dd.getMonth()+1)+"月"+dd.getDate()+"日 "; container.innerHTML += " " + date +"<a href='" + entry.link + "' title='" + entry.title + "'>" + entry.title + "</a></li>"; ↑の所をいじっても出来ませんでした。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

#1です。 >target="_blank"を使ってリンクを別タブで開くということです 全体でかまわなければ、base要素で定義してしまえばよろしいかと。 個別に設定したいのであれば、リンク要素(<a>タグ)の属性で、ご質問のように設定すればよいので、  ~ "<a href='" + entry.link + "' title='" + entry.title + "' target='_blank'>" ~ とでも入れてあげればよろしいのではないでしょうか。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

そのサンプルのコードですが、container.innerHTML += で <ul> <div id="feed"> <li><a></a></li> <li><a></a></li>   〃 </ul> とマークアップされてますが、<ul>の直下は<li>のみのはずですけど、閉じタグの省略時解釈でOKだったかなあ... こういすれば↓ <ul id="feed"> </ul> var date = '<li>' + yearNum + "年"+(dd.getMonth()+1)+"月"+dd.getDate()+"日 " + '<br>'; >○別タブで開きたい。 別タブって何の事ですか?

gggadgjmptwggg
質問者

補足

○別タブで開きたい。というのは target="_blank"を使ってリンクを別タブで開くということです。 説明不足ですみません。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

>○表示したRSSの間に区切り線を入れたい リスト形式で表示しているようなので、枠線の下側を利用するとかではいかがでしょうか? HTMLを<ul id="feed"></ul>にしておいて、 (↑なぜ<div>が入っているのか不明なので、divを除いています)  #feed li{ border-bottom: 2px groove #eee; padding: 6px 0px; } とかでどうでしょうか?(寸法などは調節してください) 必要に応じて、list-style-position: inside; とかも… >○日付の次を改行して >   日付 >   タイトル >のように表示したい。 単純に日付の後ろに改行タグ「<br>」を入れてあげればよろしいかと。  var date ="<li>" + dd.getFullYear() + "年"+(dd.getMonth()+1)+"月"+dd.getDate()+"日<br>"; >○別タブで開きたい。 意味がよくわからないので回答できませんが、ul要素を『別タブ』内に置いておくだけでは実現できませんか? ついでに、  dd.getYear()は dd.getFullYear()にすれば、2000年の調整は不要になります。  スクリプト内で「</」を使用すると、スクリプトの終了とみなされる可能性があります。エスケープするか、\u003Cなどを利用するのがよろしいかと…(ほとんどのブラウザは大丈夫みたいですが)

gggadgjmptwggg
質問者

補足

回答ありがとうございます。かなり参考になりました。 ○別タブで開きたい。というのは target="_blank"を使ってリンクを別タブで開くということです。 説明不足ですみません。