
サイトを作成中です。
まず下記のとおりjqueryでheader、side、footerをインクルードしています。
<script>
$(function() {
$("#header").load("header.html");
$("#side").load("side.html");
$("#footer").load("footer.html");
});
</script>
次に、コピーライトの年を自動更新したく、footer.htmlの中にjavasprictを入れました。
Copyright© 2014
<script type="text/javascript" language="JavaScript">
<!--
TYnow = new Date();document.write( ' - ' + TYnow.getFullYear() );
// -->
</script> ○○○○ CO.,Ltd.
すると、全体が「-2017」としか表示されなくなってしまいました。
どうすればいいのでしょうか、どなたか教えて下さい。
宜しくお願いいたします。
No.5ベストアンサー
- 回答日時:2017/04/15 23:55
ANo4です。
jQueryを利用なさっているのでしたね。
動作すれば良いのであれば、footer.htmlの内容を、
Copyright© 2014<span id="copyright"></span> ○○○○ CO.,Ltd.
とでもしておいて、スクリプトの
$("#footer").load("footer.html"); の部分を
$("#footer").load("footer.html", function(){
var d = new Date();
$("#copyright").html(" - " + d.getFullYear());
});
のようにすれば動作すると思います。
(これだと、わざわざloadする意味がほとんどありませんけれど…)
※ idが重複するような場合は、違うものに変えて下さい。
No.4
- 回答日時:2017/04/15 21:54
ANo1です。
>~~とかがさっぱり意味不明でわかりません。
大変、失礼いたしました。
リンクをここのシステムが自動で変換してくれるのですが、中途半端な変換になってしまっているようです。
以下のアドレスの最初に英数小文字のhを付け加えて下さい。
ttps://www.google.co.jp/search?q=javascript+文書+書き替え&oq=javascript+文書+書き替え&aqs=chrome..69i57.26265j0j4&client=ms-android-kddi-jp&sourceid=chrome-mobile&ie=UTF-8#xxri=2
念のため、最初の方に出てくるサイトも・・
http://hacknote.jp/archives/11502/
http://www.24w.jp/study_contents.php?bid=javascr …
ttp://design-spice.com/2010/07/27/javascriptでhtml中のテキストを変更する/
No.3
- 回答日時:2017/04/15 18:38
>>他のheader、side、本文が表示されないのではないでしょうか?
そうなるから、loadとloadされる側でのdocument.writeは止めるべきです。
phpでincludeした方が良いと思います。
header部分、side部分、footer部分を作ってファイルにして置き、メインからincludeすれば、こういう問題は起きないケド。
メインが.phpになってしまうけど、.htaccessファイルに記述して.htmlのまま動かせる。
実戦では、この方法しか使ってません。
動的javaは何が起きるか解らないから、設計段階でincludeを念頭に置いてます。
No.2
- 回答日時:2017/04/15 16:08
document.writeはhtmlソースコードなどを出力する為のものなんですがloadと組み合わせる場合には注意が要ります。
通常で書くと、さほど問題は置きないんですが、「ページの読み込み後に文字を挿入・・・」みたいな事をすると、真っ白になったり、挿入文字だけになったりします。
仕方無いのでフッターの全てをdocument.writeで吐き出します。
TYnow = new Date();document.write('Copyright© 2014 - ' + TYnow.getFullYear()+' ○○○○ CO.,Ltd.' );
回答いただき、ありがとうございます。
フッターの全てをdocument.writeで吐き出すと、真っ白な背景に「Copyright(c) 2014 -2017 ○○○○ CO.,Ltd.」が表示されるだけで、他のheader、side、本文が表示されないのではないでしょうか?
それとも、「フッターの全てをdocument.writeで吐き出す」とは、<head>内の<script>の$("#footer").load("footer.html");の代わりに、TYnow = new Date();document.write('Copyright© 2014 - ' + TYnow.getFullYear()+' ○○○○ CO.,Ltd.' );を入れるのでしょうか?
No.1
- 回答日時:2017/04/15 15:42
こんにちは。
一旦、HTMLが読み込まれた後で document.write を実行すると、新しい文書が作成されます。そこに、-2017と書かれて、古い(それまで表示されていた)文書は捨てられます。
現在の文書の内容を変更したい場合は、document.getElementById などを用いて、DOMを取得し、内容を書き換えるようにしてください。
https://www.google.co.jp/search?q=javascript+文書+書き替え&oq=javascript+文書+書き替え&aqs=chrome..69i57.26265j0j4&client=ms-android-kddi-jp&sourceid=chrome-mobile&ie=UTF-8#xxri=2
早速に回答いただき、ありがとうございます。
ただ勉強不足のため「document.getElementById などを用いて、DOMを取得・・・」とか、その後の「https://www.google.co.jp/search?q=javascript+文書+・・・」とかがさっぱり意味不明でわかりません。
具体的にどうすればいいのか教えていただければ助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するQ&A
- 1 <HEAD>内と<HEAD>後のfunctionの違いは?
- 2 【至急!!】Jqueryを使った下記のようなヘッダーの動きについて質問です。
- 3 jquery1.4.1で下記コードの結果が不安定になる現象を回避したい
- 4 【至急!!】Jqueryを使った下記のようなフッターの動きについて質問です。
- 5 JavaSprictで時間取得と指定した経過時間の結果を表示させたいで
- 6 jQueryでシンプルドラッグドロップがまずい
- 7 jQuery & 下記のスクリプトにて画像のフェードイン・アウトで切り
- 8 jQuery を使って下記のようなことは可能でしょうか。また可能な場合
- 9 下記のようなメニューを作成しようと思い、質問したところJavaScri
- 10 jQuery UI Accordion Plugin(jQuery U
関連するカテゴリからQ&Aを探す
おすすめ情報
人気Q&Aランキング
-
4
JavaScriptが動かない原因
-
5
javascript:(function(q, a, z)...
-
6
給料日って最短は何時からおろ...
-
7
alert文に変数と文章を表示させ...
-
8
Google Apps Scriptの日付の比較
-
9
VBAのIF分で時間指定の条件式の...
-
10
VBAでユーザーフォームの表示を...
-
11
VBA テキストボックスの計算
-
12
アルファベットABCD…をスマート...
-
13
指定した日付が、その月の第何...
-
14
VB カウントダウンタイマーの作...
-
15
IFRAMEの表示/非表示を切り替え...
-
16
JavaScriptとC言語の違いについ...
-
17
VBAで当月の1日を表示するには...
-
18
Formの表示状態の取得
-
19
変数内容をHTML内で表示する方法
-
20
デフォルト非表示にしたい。【t...