2012-02-08 8 views
0

イムはHERESにコードJavascriptコードでCSSを追加しますか?私のjavascriptのコードでCSSクラスを追加しようとしているが、私は、ブラウザでプレビューするとき、</p> <p>を動作するようには思えいけない

<script> 
var mydate=new Date() 
var year=mydate.getYear() 
if (year < 1000) 
    year+=1900 
var day=mydate.getDay() 
var month=mydate.getMonth() 
var daym=mydate.getDate() 
if (daym<10) 
    daym="0"+daym 
var dayarray=newArray("Sunday","Monday","Tuesday","Wednesday","Thursday", 
         "Friday","Saturday") 
var montharray=newArray("January","February","March","April","May","June", 
         "July","August","September","October","November", 
         "December") 
document.write(""+dayarray[day]+" "+daym+" "+montharray[month]+" "+year+"") 
    .className = 'bigdate'; 
</script> 

はここにCSSです:

.bigdate{ 
    color:#03C; 
} 
+2

'document.write()。classname'はわかりません。あなたはどこから来たのですか? –

+2

document.writeは、クラスを追加できるノードを返しません。 – zzzzBov

+1

(year <1000) year + = 1900なら 'var year = mydate.getYear() の代わりに[' getFullYear() '](https://developer.mozilla.org/ja/JavaScript/)を使うことができます。参照/グローバル_オブ​​ジェクト/日付/ getFullYear)。 –

答えて

6

これは、document.write()の仕組みではなく、作成したノードへの参照を返しません。

てみてください...

document.write("<span class=\"bigdate\">"+dayarray[day]+" "+daym+" "+montharray[month]+" "+year+"</span>"); 

...またはより良いまだ...

var span = document.createElement('span'); 
span.appendChild(document.createTextNode(dayarray[day]+" "+daym+" "+montharray[month]+" "+year+)); 
document.body.appendChild(span); 
+0

+1 "またはそれ以上にはまだまだ..."は、槌を打ち殺すのに威圧的なハンマーを使用しません。 –

1

あなたはない使用document.writeは、ドキュメントを更新する必要があります。文書を更新するには、innerHTMLプロパティを設定するか、要素を追加します。

<div id="my-element"></div> 
<script> 
.... 
var elem = document.getElementById('my-element'); 
elem.innerHTML = dayarray[day]+" "+daym+" "+montharray[month]+" "+year; 
elem.className = 'bigdate'; 
</script> 

classNameclass属性を指す特性です。 document.write()には戻り値がないため、プロパティはありません。あなたがdocument.write()を使用したい場合でも、あなたは、HTMLタグを使用する必要があり、かつclass="bigdate"追加:

document.write('<div class="bigdate">' + ..... + '</div>'); 
0
document.write(""+dayarray[day]+" "+daym+" "+montharray[month]+" "+year+"").className = 'bigdate'; 

は次のようになります。

document.write("<div class='bigdate'>"+dayarray[day]+" "+daym+" "+montharray[month]+" "+year+"</div>"). 

はあなたが持っているHTML要素を持っている必要がありますクラス名。

関連する問題