┌───┬───┐
│1行目 │     │
├───┤     │
│2行目 │ボタン │
├───┤     │
│3行目 │     │
└───┴───┘

というテーブルで、ボタンを押すごとに2行目が表示、非表示と切り替わるように、下のようなソースを書きました。
IE以外ではうまく行くのですが、IEだと
一回目の押下ではうまく行くのですが、その後が動きません。

ちなみに
最初の押下でエラーの警告がでています。
innerHTMLの記述を消したらそれは無くなりました、、、。


IE以外のブラウザでは上手く行くのですが、
IEではどこがダメなのでしょうか。




基本的なことで申し訳ありませんが、よろしくお願いします。


--------------------------------------------------------------
<script type="text/javascript">
function del() {
document.getElementById('row2').style.display="none";
document.getElementById('row1').innerHTML=
'<td>1行目</td>'+
'<td rowspan="2"><input type="button" value="2行目を表示" onclick="add()" /></td>'
}
function add() {
userAgent = window.navigator.userAgent.toLowerCase();
if (userAgent.indexOf("msie") > -1) {
document.getElementById('row2').style.display="display";
}
else {
document.getElementById('row2').style.display="table-row";
}
document.getElementById('row1').innerHTML=
'<td>1行目</td>'+
'<td rowspan="3"><input type="button" value="2行目を非表示" onclick="del()" /></td>'
}
</script>

<style type="text/css">
table {
border-collapse:collapse;
}
td {
border:1px solid #ccc;
}
</style>

<table>
<tr id="row1">
<td>1行目</td>
<td rowspan="3"><input type="button" value="2行目を非表示" onclick="del()" /></td>
</tr>
<tr id="row2">
<td>2行目</td>
</tr>
<tr>
<td>3行目</td>
</tr>
</table>

このQ&Aに関連する最新のQ&A

A 回答 (2件)

IE (少なくとも IE8-) の innerHTML は "table, tFoot, tHead, and tr elements" の書き換えに対応していません。


これらの要素を書き換える際には innerHTML 以外の手段を用いてください。
http://msdn.microsoft.com/en-us/library/ms533897 …

この仕様(不具合?)が IE9 で解消されたかどうかはわかりませんが、少なくとも IE8 では未修正です。
    • good
    • 0
この回答へのお礼

ありがとうございます。

そうだったんですか。IEでは対応していないんですね。少なくとも8以前では。
そうと分かれば別の方法でやりたいと思います。

お礼日時:2011/04/25 10:08

IEでは、TABLE、TR、TDなんかのinnerHTMLは読み取り専用なのです。


今回の場合は、ボタンを2種類用意して
都度表示・非表示すればよいかと。

この回答への補足

先にお答えくださった方をベストアンサーにしましたが、どちらも参考になりました!
ありがとうございます。

補足日時:2011/04/25 10:10
    • good
    • 0
この回答へのお礼

ありがとうございます。

あらま、IEではだめだったんですか。
別の方法でやるしかないですね。

お礼日時:2011/04/25 10:09

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qマンガ家かイラストレイターか。。

私は将来、絵関係の仕事に就きたいと思っております。

それで今年の秋にイラストレイターを目指そうと思い東京に持ち込みに行くべく、イラストを描いていたのですが、
なぜか描いている時にマンガを描きたい・・と思って悩みだし、手が止ってしまうのです;それにこのごろはなぜかイラスト描いていても楽しいと思えないのです。。

イラストレイターになりたいことは本当のはずなのに
どうしてかマンガを描きたくなってしまう。。
実際、1番初めはマンガ家になりたいと思っていたのですが
「なるのはイラストレイターより難しいだろう。。」とか描いても「上手くいかないなぁ。向いてないのかな?」と思いやめてしまったのです。

もう就職しないといけない時期になってしまったので
この秋の持ち込みの結果でこれからのことを決めようと
思い余計に焦ってしまっています;

家の経済が苦しいということもあり、絵の仕事に就くという夢は諦めるつもりはないのですがどうしても家のことについても悩んでしまいどうしたらいいのかわからなくなってしまっている状況です;

このようなことは自分で決めるものだと思いますが
自分でもわからなくなってしまったので。。
なにか参考になる意見がありましたらよろしくお願い致します。

私は将来、絵関係の仕事に就きたいと思っております。

それで今年の秋にイラストレイターを目指そうと思い東京に持ち込みに行くべく、イラストを描いていたのですが、
なぜか描いている時にマンガを描きたい・・と思って悩みだし、手が止ってしまうのです;それにこのごろはなぜかイラスト描いていても楽しいと思えないのです。。

イラストレイターになりたいことは本当のはずなのに
どうしてかマンガを描きたくなってしまう。。
実際、1番初めはマンガ家になりたいと思っていたのですが
「なるのはイラ...続きを読む

Aベストアンサー

私はイラストレーターと漫画家、両方やっております。
といっても漫画家はデビューしたばかり、
主たる肩書きはイラストレーターです。

私の場合も、漫画家をめざしたのが先でして、
それがなかなかうまくいかずに、イラストレーターとしての営業を開始しました。
もちろん、すぐに結果が出るものでもないので、
プロの漫画家さんの下でアシスタントもしていました。
イラストレーターの仕事が来るようになってからも、暇を見つけて漫画を描き、
ネットで公開していたところに、漫画編集部からお声がかかって現在の状況に至ってます。

絵の種類にもよりますが、
やはり人物・背景・お話しの3点が必要な漫画に比べ、
人物と簡単な背景だけで勝負できるイラストは、
プロを目指すには近道なような気がします。
イラストレーターはとにかく営業!一件でも多く出版社にファイルを見てもらうのが肝心です。
営業ファイル作りは、最初はつまらないものですよ。
漫画家も目指していたなら、迷いが生じるのは仕方ないことだと思います。
でも、営業ファイルに漫画も入れて「こういうのも描けるんです」
と逆に武器にしてしまう手もあります。

漫画家アシスタントもお薦めですよ。
漫画業界を肌で感じることができますし、
なにより訓練されるので、絵が旨くなります。
(そしてお金ももらえます^_^)

質問者さんの状況が、数年前の自分とあまりにも似ていたので、
じっとしてられずあれこれと書いてしまいました。
うまくまとまらずに、すいません。
何か参考になれば幸いです。

私はイラストレーターと漫画家、両方やっております。
といっても漫画家はデビューしたばかり、
主たる肩書きはイラストレーターです。

私の場合も、漫画家をめざしたのが先でして、
それがなかなかうまくいかずに、イラストレーターとしての営業を開始しました。
もちろん、すぐに結果が出るものでもないので、
プロの漫画家さんの下でアシスタントもしていました。
イラストレーターの仕事が来るようになってからも、暇を見つけて漫画を描き、
ネットで公開していたところに、漫画編集部からお声がか...続きを読む

QIEの半角スペースの連続とinnerHTMLについて

IEだと文頭に半角スペースがある場合は詰められ、文中に半角スペースが連続する場合は一つにまとめられてしまいます。

ただ、innerHTMLだと正しく取れると思っていましたがやはり詰められて取得されてしまいます。
ただしく取得できる方法を模索しております。
hiddenに値を設定などではなく、現在のHTMLからの取得方法をお願い致します。

下記のソースで状況を再現できますのでご確認ください(blankの間のスペースは2つ空いています)
<html>
<head>
<script>
function testfunc() {
str = document.getElementById('test2').innerHTML
alert('[' + str + ']');
}
function testfunc2() {
str = document.getElementById('test').childNodes[0].firstChild.nodeValue;
alert('[' + str + ']');
}
</script>
</head>
<body>
<div id="test"><div id="test2"> blank blank </div></div>
<input type="button" value="CLICK ME1" onclick="testfunc()"><br>
<input type="button" value="CLICK ME2" onclick="testfunc2()">
</body>
</html>

IEだと文頭に半角スペースがある場合は詰められ、文中に半角スペースが連続する場合は一つにまとめられてしまいます。

ただ、innerHTMLだと正しく取れると思っていましたがやはり詰められて取得されてしまいます。
ただしく取得できる方法を模索しております。
hiddenに値を設定などではなく、現在のHTMLからの取得方法をお願い致します。

下記のソースで状況を再現できますのでご確認ください(blankの間のスペースは2つ空いています)
<html>
<head>
<script>
function testfunc() {
str = documen...続きを読む

Aベストアンサー

innerHTML は文字通り、タグの中の html なので特別な例外は存在しません。
div タグの代わりに、pre や xmp タグを使ってはいかがでしょうか。

Q漫画家さんにファンレター(イラスト)を送ろうと思っているのですが

よく漫画の最後の方に紹介されるファンからのイラストコーナーがありますよね?
私も今度送りたいと思うのですがわからないことがあり、質問しました。

イラストをハガキに描いてそのまま送っても(ファンレターの中に入れないで)いいのでしょうか?
あと、名前はHNだけではなく、本名も描いたほうがいいのでしょうか?

Aベストアンサー

はがきに直接描いて送っても大丈夫です。
が、スクリーントーンなど貼る場合、剥がれてくる可能性もあると汚れから守るためにも封筒に入れた方がいいです。

本名・住所は絶対に入れてください。

住所・氏名(本名)を入れることは常識ですよ。
お礼の手紙などを送ってくれる作家さんもいます。
それ以前にあて先が間違えたりした場合、あて先不明で帰ってくることも。。。郵便屋さんが困っちゃうでしょう。

QMac版IE5でのinnerHTMLの動作について

プルダウンメニュー(セレクトボックス)を2つ表示し、一つ目のメニューが選ばれると、それによって二つ目のメニューを変化させようとしています。WINDOWSのIEでは問題なく動作するのですが、MacのIE5では正しく動作しません。
フォームの画面では一つ目のメニューを選んだ時に二つ目のメニューの選択項目が変化し問題ないのですが、sendボタンを押したときにCGIに二つ目のメニューの内容が伝わりません。MacのIE5ではinnerHTMLを使うと正しく動作しないのでしょうか。
----------------フォーム------------------
<HTML>
<HEAD>
<SCRIPT language=javascript>
<!--
var s0="";
s0 += '<option value="option0-1">option0-1</option>'
s0 += '<option value="option0-2">option0-2</option>'
var s1="";
s1 += '<option value="option1-1">option1-1</option>'
s1 += '<option value="option1-2">option1-2</option>'
function change() {
switch (Number(document.form1.select1.selectedIndex)) {
case 0:
document.all.obj1.innerHTML = '<select name="select2">' + s0 + '</select>';
break;
case 1:
document.all.obj1.innerHTML = '<select name="select2">' + s1 + '</select>';
break;
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM name=form1 action=test-cgi.cgi method=get encType=multipart/form-data>
<SELECT onchange=change(); name=select1>
<OPTION value="option0">option0</OPTION>
<OPTION value="option1">option1</OPTION>
</SELECT>
<BR>
<SPAN id=obj1>
<SELECT name=select2></SELECT>
</SPAN>
<INPUT type="submit" value="send">
</FORM>
</BODY>
</HTML>

プルダウンメニュー(セレクトボックス)を2つ表示し、一つ目のメニューが選ばれると、それによって二つ目のメニューを変化させようとしています。WINDOWSのIEでは問題なく動作するのですが、MacのIE5では正しく動作しません。
フォームの画面では一つ目のメニューを選んだ時に二つ目のメニューの選択項目が変化し問題ないのですが、sendボタンを押したときにCGIに二つ目のメニューの内容が伝わりません。MacのIE5ではinnerHTMLを使うと正しく動作しないのでしょうか。
----------------フォーム-----------...続きを読む

Aベストアンサー

再度。 ソースの減量を計るのであれば、スクリプトに一ひねり加えればよいでしょう。 先のものに手を加えてみました。

<html>
<head>
<script type="text/javascript">
<!--
var n=0;
optTxt = new Array();
optVal = new Array();

for (i=0; i<2; i++){ //「i<2」の2の値は、select1のoptionの項目数と同じにする
optTxt[i]= new Array(); //option要素のテキストを格納する配列
optVal[i]= new Array(); //option要素のvalue属性を格納する配列
}
/* 以上、二次元配列を作成 */

optTxt[0][0]="option0-1"; optVal[0][0]="option0-1";
optTxt[0][1]="option0-2"; optVal[0][1]="option0-2";

/* 以上、select1のoption0で用意するselect2のoption要素のテキストと値を配列に格納 */

optTxt[1][0]="option1-1"; optVal[1][0]="option1-1";
optTxt[1][1]="option1-2"; optVal[1][1]="option1-2";
optTxt[1][2]="option1-3"; optVal[1][2]="option1-3";
/* 以上、select1のoption1で用意するselect2のoption要素のテキストと値を配列に格納 */

for (j=0; j<optTxt.length; j++){
if (n<optTxt[j].length){ n=optTxt[j].length;}
}
/* 以上、select2のoption要素の最大数を取得 */

function change() {
for (i=0; i<n; i++){
document.form1.select2.options[i].text = "";
document.form1.select2.options[i].value = "";
}
/* 以上で用意してあるオプション要素の表示と値を全消去 */

x=document.form1.select1.selectedIndex;
for (k=0; k<optTxt[x].length; k++){
document.form1.select2.options[k].text=optTxt[x][k];
document.form1.select2.options[k].value=optVal[x][k];
}
/* 以上でオプション要素を書き換え */
}

function check(){
if (document.form1.select2.value!=""){ document.form1.submit();}
else{ return false; }
}
//-->
</script>
</head>
<body>
<form name="form1" action="test-cgi.cgi" method="get" onsubmit="check(); return false;">

<select onChange="change();" name="select1">
<option value="option0">option0</option>
<option value="option1">option1</option>
</select>
<br>

<select name="select2">
<script type="text/javascript"><!--
document.open();
for (op=0; op<n; op++){
document.write("<option></option>");
}
/* JavaScriptからoption要素を項目の最大数分書き出す */
document.close();
// --></script>
</select>

<input type="submit" value="send">
</form>
</body>
</html>

select2のoption項目は、head内の二次元配列部分で定義するように造ってあります。
ご質問によれば、innerHTMLを使う方法ではうまくいかないようですので、代替の方法としてinnerHTMLを使わないものを提示しています。 一応、手元のリファレンスではMacIE5.xでも動作するソースと紹介されているものを、改造していますが、動作確認は取っていません。 こちらも参考まで。

たびたび失礼しました。

再度。 ソースの減量を計るのであれば、スクリプトに一ひねり加えればよいでしょう。 先のものに手を加えてみました。

<html>
<head>
<script type="text/javascript">
<!--
var n=0;
optTxt = new Array();
optVal = new Array();

for (i=0; i<2; i++){ //「i<2」の2の値は、select1のoptionの項目数と同じにする
optTxt[i]= new Array(); //option要素のテキストを格納する配列
optVal[i]= new Array(); //option要素のvalue属性を格納する配列
}
/* 以上、二次元配列を作成 */

optTxt[0][...続きを読む

Q絵(イラスト)について回答お願いします。漫画家志望です

絵について回答お願い致します。
私は高校一年生の、漫画家志望で、少年漫画を目指しています。
この絵についてなのですが…評価ではなく、この絵柄でも少年漫画でいけるかどうか、判断お願い致します。
スキャンやアップの際に大分画像が伸びてしまっているかもしれません;
申し訳ありません。

Aベストアンサー

これでだめということはありません。
ただし劇を構成するには絵のバラエティが必要であり
主役級の美形を数人描き分けることと
美形でない主役級をたくさん描けることと
街の八百屋とか魚屋とか銀行員とかいろんなタイプの
あらゆる年代の人物を描く必要があります。
ストーリーの大筋にかかわらなくても
脇役をたくさん描けることが武器になるのです。
あなたが示した顔を描く人はそれひとつしか描けずに
終わってしまうケースが多いので、
たくさんのキャラクタを描きわけることを
こころがけてください。

QdivにinnerHTMLでセットすると一行分HTMLに表示されてしまう

divにinnerHTMLでセットすると一行分HTMLに表示されてしまう

Javascriptというよりcssの気もしますが。
IE6で確認してます。

<body bgcolor="#999999">
<div id="test_area"></div>

このようにある場合、初期表示では行が表示されないのですが、
Javascriptで何か入れて、クリアしても一行分表示されてしまいます。

Javascriptで入れた時もずれないで欲しいのですが、何か良い方法はないでしょうか?
ちなみに初期化はscriptでこのようにしてます(dojo.byIdですが、getElementbyIdと同じ)。

よろしくお願いします。
dojo.byId("test_area").innerHTML = "";

Aベストアンサー

<html>
<body bgcolor="#999999">
a
<div id="test_area">hh</div>
b<br>
<input type="button" value="Delete 'b'" onClick="delNode('test_area')">
<input type="button" value="plus 'abc'" onClick="document.getElementById('test_area').innerHTML='abc'">

<script>
function delNode(s){ ob=document.getElementById(s); while( ob.hasChildNodes() ) ob.removeChild( ob.firstChild ); }
</script>
ということで削除してから、同じところに'abc'を追加します

Q家(いえ)と家(うち)の違いは何ですか。

家(いえ)と家(うち)の違いは何ですか。
出来れば、例文も教えてください。
3Q

Aベストアンサー

家とうちの違いについては既に説明がありますが、外国人が実際に使う場合は戸惑うことがあるでしょう。「うち」は内と書き外と区別します。つまり自分の家庭、家族であり、配偶者(うちの人)を指します。転じて家屋(家)を指すようになったため家(いえ)と家(うち)のように同じ漢字を当てたのでしょう。

使用例:
*隣の家は新しいがうちのは古いです・・・家
*新しい家は気持ちがいい・・・家
*うちにいる時はネクタイはしません・・・家、家庭
*今度の日曜日うちにおいで・・・家、家庭
*うちのは出かけています・・・妻(夫)
*うちの会社はケチです・・・所属する団体
*あまりうちを空けるな・・・家

Q.innerHTMLの不一致?

こんにちは。
Javascriptは全くの初心者です。
よろしくお願いします。

<div id="test">
<ul>
<li><a href="a.html"><span>AAA</span></a></li>
<li><a href="b.html"><span>BBB</span></a></li>
<li><a href="c.html"><span>CCC</span></a></li>
</ul>
</div>

<script type="text/javascript">
<!--
var data = "AAA";// AAAは自動取得させる予定
var nodes = document.getElementById('test').getElementsByTagName("a");
for (i = 0; i < nodes.length; i++) {
if(nodes[i].innerHTML == data){
nodes[i].setAttribute("class","ddd");
}
}
//-->
</script>

上記のようなjavascriptを設置し、
<li><a href="a.html"><span>AAA</span></a></li>
の<a>にclass="ddd"を適用させようと思います。
(<span>には適用させたくない。)

しかし、
var data = "AAA";
だと<a>の.innerHTMLは<span>AAA</span>なので
<span>AAA</span> ≠ AAA
で一致しません。
そこで、
var data = "<span>AAA</span>";
としたところ、FirefoxとNNでは成功しましたが、それ以外のブラウザでは駄目でした。

初心者でお恥ずかしい限りですが、
どうしたらよいのかご教授いただければ幸いです。
よろしくお願いします。

こんにちは。
Javascriptは全くの初心者です。
よろしくお願いします。

<div id="test">
<ul>
<li><a href="a.html"><span>AAA</span></a></li>
<li><a href="b.html"><span>BBB</span></a></li>
<li><a href="c.html"><span>CCC</span></a></li>
</ul>
</div>

<script type="text/javascript">
<!--
var data = "AAA";// AAAは自動取得させる予定
var nodes = document.getElementById('test').getElementsByTagName("a");
for (i = 0; i < nodes.length; i++) {
if(nodes[i].innerHTML ...続きを読む

Aベストアンサー

こんな感じでチェックしてみてはいかがですか?

<style>
.ddd{
background-Color:red;
}
</style>

<div id="test">
<ul>
<li><a href="a.html"><span>AAA</span></a></li>
<li><a href="b.html" class="ddd"><span>BBB</span></a></li>
<li><a href="c.html"><span>CCC</span></a></li>
</ul>
</div>

<script type="text/javascript">
window.onload=function(){
var data = "AAA";// AAAは自動取得させる予定
var test = document.getElementById('test');
var nodes=test.getElementsByTagName("a");
for (i = 0; i < nodes.length; i++) {
var cnodes=nodes[i].childNodes;
for (j = 0; j < cnodes.length; j++) {
if(cnodes[j].nodeName=="SPAN"){
if(cnodes[j].innerHTML == data){
// nodes[i].setAttribute("className","ddd");
nodes[i].className="ddd";
break;
}
}
}
}
}
</script>

コメントアウト部分・・・
なんか試してみるとIEはclassをsetAttributeで指定するとき
setAttribute("className","ddd");
としないといけないみたいですね。
firefoxだとsetAttribute("className","ddd")はきかず
setAttribute("class","ddd");
のみしか反応しません。
なので nodes[i].className="ddd";
とするのが妥協案でしょうか?

またIEはgetElementById()に直で.getElementsByTagName()
をつなげられないようなので一度testオブジェクトをつくってから
nodesオブジェクトを作成したほうがよいようです。

こんな感じでチェックしてみてはいかがですか?

<style>
.ddd{
background-Color:red;
}
</style>

<div id="test">
<ul>
<li><a href="a.html"><span>AAA</span></a></li>
<li><a href="b.html" class="ddd"><span>BBB</span></a></li>
<li><a href="c.html"><span>CCC</span></a></li>
</ul>
</div>

<script type="text/javascript">
window.onload=function(){
var data = "AAA";// AAAは自動取得させる予定
var test = document.getElementById('test');
var nodes=test.getElements...続きを読む

Qイラストのギャラの相場についての質問です

先日あるお医者様が書かれる本のイラスト3点の依頼を受けました。イラストの内容は細胞の構造のようなものですが特別複雑なものではありません。
普通このような医学書で個人的に依頼されたものである時にいくら位が妥当といえる金額なのでしょうか…(-c-;

Aベストアンサー

長年専業イラストレーターでメシを食っているものです。ほとんど広告業界が守備範囲で、出版関係はそれほど経験がないのですが。
ともあれ、イラストの見積もりは難しく、いまだにぼくも悩みます。
とはいえ、既出のみなさんの回答はイラストレーターにとってやや気の毒なレベルに思えますが・・・。

うちの高校生の息子のファミレスの皿洗いの時給が800円前後のようですから、ま、
イラストの作成は一応クリエイティブな仕事、最低でもその3倍くらいの時給(2500円)をもとに考えてはどうでしょう。
時給といっても、自分で失敗したロス時間は入れるべきではないでしょうし、逆に、先方の都合で修正したり、描き直したりした分は加算したいところです。

”特別複雑なものではない”といっても、実際のところどんな手間のものかわからないのですが、全体的な印象からは、トータル1万から3万、5万はむずかしそーというふうに感じます。

先に書いた時給計算で、1万を下回るようであれば、1万円くらいは請求、3万以上になってしまえば、出た分はまけておく、くらいにお考えになってはいかがでしょう。

長年専業イラストレーターでメシを食っているものです。ほとんど広告業界が守備範囲で、出版関係はそれほど経験がないのですが。
ともあれ、イラストの見積もりは難しく、いまだにぼくも悩みます。
とはいえ、既出のみなさんの回答はイラストレーターにとってやや気の毒なレベルに思えますが・・・。

うちの高校生の息子のファミレスの皿洗いの時給が800円前後のようですから、ま、
イラストの作成は一応クリエイティブな仕事、最低でもその3倍くらいの時給(2500円)をもとに考えてはどうでしょう。
...続きを読む

QinnerHTMLを使い、書き換えたい

はじめまして。innerHTMLで文章を書き換えたいと思っています。

■■■■■■■■■■■■
<div id='testid'>元の文章</div>

<SCRIPT Laguage="JavaScript"><!--
document.getElementById('testid').innerHTML
 = "この文章に書き換える";
--></SCRIPT>
■■■■■■■■■■■■
とするとうまく<div>内の文章が書き換わるのですが、

以下のようにjavascriptの記述を先に持ってくるとうまくいきません。
■■■■■■■■■■■■
<SCRIPT Laguage="JavaScript"><!--
document.getElementById('testid').innerHTML
 = "この文章に書き換える";
--></SCRIPT>

<div id='testid'>元の文章</div>
■■■■■■■■■■■■

検索して調べたところ、
「関数化させて id を指定したタグが表示されてから命令を実行させる」
必要があるとのことなのですが、書き方がわからずにいる次第です。

どなたかご教示いただければ幸いです。

はじめまして。innerHTMLで文章を書き換えたいと思っています。

■■■■■■■■■■■■
<div id='testid'>元の文章</div>

<SCRIPT Laguage="JavaScript"><!--
document.getElementById('testid').innerHTML
 = "この文章に書き換える";
--></SCRIPT>
■■■■■■■■■■■■
とするとうまく<div>内の文章が書き換わるのですが、

以下のようにjavascriptの記述を先に持ってくるとうまくいきません。
■■■■■■■■■■■■
<SCRIPT Laguage="JavaScript"><!--
document.getElementById('testid').innerHTML
 = "この文章に書き換える";
-->...続きを読む

Aベストアンサー

>><SCRIPT Laguage="JavaScript"><!--
>>document.getElementById('testid').innerHTML
>> = "この文章に書き換える";
>>--></SCRIPT>
>>
>><div id='testid'>元の文章</div>

このままでは、<div>が生成される前に、JavaScriptが実行されるため、エラーになるのだと思います。


JavaScriptを関数化し、<body>のonloadで実行してやればよいと思います。

<SCRIPT Laguage="JavaScript"><!--
function htmlChange(){
document.getElementById('testid').innerHTML
 = "この文章に書き換える";
}
--></SCRIPT>
<body onload="htmlChange();">
<div id='testid'>元の文章</div>


人気Q&Aランキング

おすすめ情報