
本日の日付から3日間のリンク情報をピックアップさせたくて作成してみました。
リンク情報部分を同ディレクトリの他のhtmlファイルにして、読み込ませて処理
させたいのですがどうしたものか分からず困っております。
VBは多少経験があるもののjavascriptは初心者でして、いろいろ至りませんが、
どうぞよろしくお願い致します。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>サンプルページ</title>
</head>
<body>
<h1>サンプル</h1>
<!-- ここから -->
<table border="0" width="560" cellpadding="2" cellspacing="0">
<tr>
<td class="border" id="201307220"><a href="d.html" target="_blank">7/22 セミナー</a></td>
</tr>
<tr>
<td class="border" id="201307200"><a href="d.html" target="_blank">7/20 会議</a></td>
</tr>
<tr>
<td class="border" id="201307191"><a href="e.html" target="_blank">7/19 機器入れ替え</a></td>
</tr>
<tr>
<td class="border" id="201307190"><a href="f.html" target="_blank">7/19 会議</a></td>
</tr>
<tr>
<td class="border" id="201307180"><a href="g.html" target="_blank">7/18 セミナー</a></td>
</tr>
</table>
<!-- ここまでのデータは同一ディレクトリ内の他のページからデータを参照させてピックアップさせたい -->
<script type="text/javascript">
//現在日時取得
var TODAY = new Date();
var strDate = new Array(3);
var afterDays;
var year;
var month;
var day;
//現在日から3日間の日付を取得しidと比較可能な形式にする
for (i = 0; i < 3; i++){
afterDays = new Date(TODAY.getTime() + i *24*60*60*1000);
year = afterDays.getFullYear();
month = afterDays.getMonth() + 1;
day = afterDays.getDate();
if (month < 10) {
month = String("0" + month);
}
if (day < 10) {
day = String("0" + day);
}
strDate[i] = String(year + month + day);
}
//リンク抽出表示
for (y = 0; y < 3; y++){
for (z =0; z < 2; z++){
if (document.getElementById(strDate[y] + z) == null) {
;
}
else {
document.write(document.getElementById(strDate[y] + z).innerHTML + "<br>");
}
}
}
</script>
</body>
</html>
No.2ベストアンサー
- 回答日時:
こんにちは。
イメージはこんな感じでしょうか。
(JavaScriptが動かない、または動かない設定にしている場合は動作しませんので本来ならサーバ上で処理するのが望ましいです)
また、細かいことですが先頭が数字のIDは使えません。
<html lang="ja">
<head>
<meta charset="utf-8">
<title>サンプル</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jq …
<style>
div#news {
display: none;
}
</style>
<script>
$().ready ( function() {
// id="news"にdata.htmlを読み込む
$('#news').load (
'data.html',
null,
function() {
// 表示する最大日数
var maxDate = new Date(new Date().getTime()+60*60*24*2*1000);
// 取得したtdの分ループ処理
$(this).find('td').each ( function() {
// idを取得する
var id = $(this).attr('id');
// 取得したIDから日付文字列を取得
var date = id.split('-')[1];
// 日付文字列からミリ秒を生成
var targetDate = Date.parse(date.substring(0,4)+'/'+date.substring(4,6) + '/' + date.substring(6,8));
// 表示対象の日付であるかチェックし、対象外の場合は非表示とする
if ( targetDate > maxDate.getTime() || targetDate < new Date().getTime()-60*60*1000*24 ) {
$(this).css ( 'display', 'none' );
}
});
// 表示する
$('#news').show();
}
);
});
</script>
</head>
<body>
<h1>NEWS</h1>
<div id="news"></div>
</body>
</html>
==== data.html
<table border="0" width="560" cellpadding="2" cellspacing="0">
<tr>
<td class="border" id="date-20130722-0"><a href="d.html" target="_blank">7/22 セミナー</a></td>
</tr>
<tr>
<td class="border" id="date-20130721-0"><a href="d.html" target="_blank">7/21 セミナー</a></td>
</tr>
<tr>
<td class="border" id="date-20130720-0"><a href="d.html" target="_blank">7/20 会議</a></td>
</tr>
<tr>
<td class="border" id="date-20130719-1"><a href="e.html" target="_blank">7/19 機器入れ替え</a></td>
</tr>
<tr>
<td class="border" id="date-20130719-0"><a href="f.html" target="_blank">7/19 会議</a></td>
</tr>
<tr>
<td class="border" id="date-20130718-0"><a href="g.html" target="_blank">7/18 セミナー</a></td>
</tr>
<tr>
<td class="border" id="date-20130717-0"><a href="g.html" target="_blank">7/17 セミナー</a></td>
</tr>
</table>
ご回答頂きましてありがとうございます。
コードを書いて頂き本当に大変助かります。
勉強になりました。
社内の特定の者に見てもらえればよいので、
これでバッチリです。
本当にありがとうございました。
No.1
- 回答日時:
DTDが曖昧なんですがこれはHTMLの話でしょうか?XHTMLの話でしょうか?
HTMLの話であれば基本的にはできませんが、framesetで似たようなことは出来ます。
http://www.tohoho-web.com/html/frameset.htm
PC以外からはうまく表示できないケースが多いという弊害もあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
テーブルの行を折りたたみたい...
-
ホームページを作っていたらhtm...
-
htmlの<input type=”file”>でア...
-
HTML/CSSを使って写真のような...
-
ホームページのサイトでhtm...
-
HTMLでクロス抽出したい
-
スマホ(android)のタッチパネ...
-
css初心者 フレックスボックス...
-
レスポンシブで困っています・・
-
角丸画像の背景色を透明にした...
-
スマホでHTMLファイルを開いて...
-
メモ帳の段落の揃え方
-
HTML&CSS メディアクエリにつ...
-
、URL化させるにはどうしたらい...
-
HTMLの CSSのファイルというの...
-
HTMLでデスクトップの画像がでない
-
画像が分割されて切り替わる、...
-
ホームページの制作について教...
-
GoogleSearchControlにホームペ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
ホームページのサイトでhtm...
-
テーブルの行を折りたたみたい...
-
ホームページを作っていたらhtm...
-
iPhoneで HTMLファイルを閲覧
-
レスポンシブで困っています・・
-
HTMLでクロス抽出したい
-
HTML/CSSを使って写真のような...
-
ホームページの制作について教...
-
スマホ(android)のタッチパネ...
-
GoogleSearchControlにホームペ...
-
css初心者 フレックスボックス...
-
メモ帳の段落の揃え方
-
静止画画像をクリックすると音...
-
htmlの<input type=”file”>でア...
-
、URL化させるにはどうしたらい...
-
WEBページを強制的に横画面で見...
-
HTMLで画像をポップアップで表...
-
角丸画像の背景色を透明にした...
-
<input>のstep属性に違反する入...
おすすめ情報