行の挿入、削除はできますか?

[上に] [前に] [次に]
ばーばぱぱ 1999/06/04(金) 13:13:17
たとえば、行を指定(背景色を変更してある箇所)して
「行挿入」ボタンを押したとします、
その行が空白になり、その行以下の内容は一行ずつ下に
ずれる。そして一番下に一行追加する。
「削除」ボタンを押したとき、その行が空白になり、
その行以下の内容は一行ずつ上にずれる。
そして一番下の行を削除する。
というような処理をしたいのですが、
可能でしょうか?

ばーばぱぱ 1999/06/04(金) 16:23:10
上記以外の方法でも良いので、
教えてください。よろしくお願いします。

Tmb 1999/06/04(金) 18:15:25
う〜ん,何もそこまでWEBブラウザでやんなくてもという気がするんだけど。
かなり汚いやりかたになると思うし,例のごとく動作保証はないですが,
とりあえず<SELECT><OPTION>のやり方を応用すると,次のやり方が
考えられます。

まず,選択している行について,document.all[]の引数を得ておきます(以下,
変数selected_row)
●削除
document.all[selected_row]=null;
で可能かもしれません。
駄目ならfor (i=selected_row+1, i<document.all.length, i++)で
document.all[i-1]=document.all[i];をループし,最後にall.lengthを1減らす。

●追加
先にall.lengthを1増やし,削除の場合と逆にiをall.lengthから1つずつ減らし
ながら,selected_row+1までループさせ,その中でall[i+1]=all[i]にし,
selected_rowの中身を定義する。
もしかしたら
http://www.tohoho-web.com/wwwjsie4.htm
のおしまいあたりにあるinsertAdjascentHTMLとかが使えるのかもしれませんが,
動作が判らないもので。

何にせよ,ここまで元のHTMLを書き換えるのは,いくらダイナミックHTMLとは言え
抵抗がありますけど。

Tmb 1999/06/04(金) 18:17:41
訂正です。
追加の方のはall[i]=all[i-1]でしたね。

yasu [HomePage] 1999/06/04(金) 22:56:46
よくわからないのですが、
文章変更は、IEの場合、<SPAN ID="name">とやって、
JavaScriptでdocument.all.name.innerHTMLとやると便利だと
思います。
はずれていたらすいません。

Nobu3 [E-Mail] [HomePage] 1999/06/05(土) 01:00:10
ホントかどうかわかりませんが、
<table>などのinnerHTMLを変更しようとすると「未知の実行時エラー」がでて、うまくいかないようです。
<div>が相手だと大丈夫のようですが・・・

つまり、HTMLの内部には<div>だけを書いておいて、
<table>の中身はすべてスクリプトで書く。
その上で、ボタンからの呼び出しで<div>の中身を全部変更する。
ならば、可能と思われます。
この方法ならエラーは出ていません。

そこまで変更できないのであれば、
Tmbさんの「selected_row」を使って説明すると、

    document.all[selected_row].style.display='none';

なら見えなくすることはできました。多少境界線は残りますが・・・
また、挿入はいい方法が思いつきません。
全体を書きかえるなら簡単でしょうが・・・。

この方法がダメなら、他の人の回答を待つか、自分で勉強するか、あきらめるか。してください。

ばーばぱぱ 1999/06/08(火) 12:50:16
皆さん、アドバイスありがとうございます。
しかし、できないです。
削除をするとき、
parent.No2.document.all[a-1]=parent.No2.document.all[a];のところで
「オブジェクトがサポートされていないプロパティまたはメソッドです」と
でてしまいます。
左側にinnerText、右側にinnerHTMLをつけると
「未知の実行時エラー」がでてしまいます。
どうにかならないでしょうか。

function gyosaku(){
selected_row=-1;
for(i=0;i<parent.No2.document.all.length;i++){
if((parent.No2.document.all[i].tagName=='TD')&&(parent.No2.document.all[i].className=='sentaku')&&(selected_row==-1)){
selected_row=i

for(a=selected_row;i<document.all.length;a++){
parent.No2.document.all[a-1]=parent.No2.document.all[a];
}
}
}
}
// -->

Tmb 1999/06/08(火) 13:40:19
まず,明らかにプログラムのおかしい部分を指摘しますと,
>selected_row=i;
の後でif文と最初のfor文は閉じるべきですね。頭の中でシミュレート
してみると判るでしょうけど。

あと.all[a-1]=.all[a]はそれぞれinnerHTML同士か,innerText同士で試してみては?

ただ,それで上手くいくかどうかの保証はありません。Nobu3さんの指摘の
>innerHTMLを変更しようとすると・・・
という部分が怪しいですので。

Tmb 1999/06/08(火) 13:53:56
たびたび失礼。指摘した部分では
>明らかにプログラムのおかしい
ということはないですね。
おかしいのはカウンタiのループ内でさらにiでループさせることとか,条件式の決め方
とか。
#やっていけない手ではないけど,あまりきれいな方法ではないような。

Tmb 1999/06/08(火) 14:02:26
ありゃ,また間違えてしまった。
ループ内のループのカウンタはaか,でもカウントのチェックがiだから,
これだと無限ループですね。エラーが出てて助かったというべきか。

ばーばぱぱ 1999/06/08(火) 14:22:25
指摘されたとおりなおしたのですが、駄目でした。
どこかに行の挿入や削除を行っているサンプルなどないでしょうか。
ちなみに以下のように直しましたが、
いまいち最後にall.lengthを1減らす方法が分かりません。

function gyosaku(){
selected_row=-1;
for(i=0;i<parent.No2.document.all.length;i++){
if((parent.No2.document.all[i].tagName=='TD')&&(parent.No2.document.all[i].className=='sentaku')&&(selected_row==-1)){
selected_row=i
}
}
for(a=selected_row;a<document.all.length;a++){
parent.No2.document.all[a-1].innerText=parent.No2.document.all[a].innerText;
}
}

Tmb 1999/06/08(火) 15:37:06
直接innerHTMLを変更することができないのであれば,Nobu3さんの方法を使うべきでしょうね。
style.display='none'にする削除方法で問題がなく,かつ追加した場合,数の上限が予想できるので
あれば,あらかじめ表の行をその上限の個数だけ作っておいて,いらない分は非表示にしておき,
必要に応じて表示することで疑似的に追加したように見せるという方針も考え方としてはあるかと
思いますが。

Nobu3 1999/06/08(火) 16:15:28
できるできないは別にして、
document.all.lengthを減らすには、document.allの中身を減らさなくてはいけません。つまり、タグを削除しないといけません。
ついでに言えば、<tr>を削除するなら、その中にある<td>は全て削除する事になるので、処理は複雑になります。
#でも、削除できません。たぶん。

あと、二つ目のループは<table>だけでなく<html>を含めた全てのタグを変更しようとしています。
<table>の最後をちゃんと認識するか、<table>のchildrenオブジェクトを使うようにしましょう。
#くどいですが、たぶんできません。

ばーばぱぱ 1999/06/08(火) 17:00:27
なんか行の非表示がうまくいかないんですけど・・・
<TR style="visibility : hidden ; display : none"></TR>
としたのですが、なんか見えるんですよ。
display:noneだけだと非表示にならなかったので、
visibility:hiddenを追加したのに、全然変わらない。
行は非表示になっていると思うのですが、たぶん表の線が束に
なって表示された感じになっているんです。
うまい具合に表示したくない行だけ非表示にできないでしょうか。

ばーばぱぱ 1999/06/08(火) 17:00:39
なんか行の非表示がうまくいかないんですけど・・・
<TR style="visibility : hidden ; display : none"></TR>
としたのですが、なんか見えるんですよ。
display:noneだけだと非表示にならなかったので、
visibility:hiddenを追加したのに、全然変わらない。
行は非表示になっていると思うのですが、たぶん表の線が束に
なって表示された感じになっているんです。
うまい具合に表示したくない行だけ非表示にできないでしょうか。

Nobu3 1999/06/08(火) 23:40:02
IE4の仕様みたいですね・・・
IE5なら、表の罫線もちゃんと消えてくれます。

無駄かもしれませんが、<td>の方も同じ設定にしてみてはどうですか?

ばーばぱぱ 1999/06/09(水) 14:12:51
やはり駄目でした。
テーブルをスクリプトで書くとしたらできるんですよね。
書き方がよく分からないのですが、
サンプルなどを見てもなんかよく分からなくて、
見よう見まねで作成したスクリプトが全然駄目みたいです。
ご指導願います。

function makeup(){

document.write("<TR style="background-color : silver;background-attachment :"><TH align="center" colspan="3">",日付,"</TH>
<TH align="center">",用務,"</TH><TH align="center">",出発地,"</TH><TH align="center">,用務地,"</TH><TH align="center">",用務先,"</TH>
<TH align="center">",内外,"</TH></TR>");

for(i in document.FORM2.elements){
document.write("<TR style="background-color : white" onDblClick="syusei()"><TD class="sentaku" width="25">",11,"</TD>
<TD class="sentaku" width="25">",06,"</TD><TD class="sentaku" width="25">",01,"</TD><TD class="sentaku" width="100">",お,"</TD>
<TD class="sentaku" width="100">",か,"</TD><TD class="sentaku" width="105">",き,"</TD><TD class="sentaku" width="130">",く,"</TD>
<TD class="sentaku" align="center">",内,"</TD></TR>);
}
}

Tmb 1999/06/09(水) 14:33:40
昨夜ちょっと他人のマシンでIE4(mac)をいじってみましたが,結局のところ
element.tagNameやelement.lengthは読み出し専用っぽいですね。
書き換えることが不能である以上,タグの変更は無理のようで。

それとTABLEやTRの持つinnerHTMLはそれぞれの中身の「子要素に挟まれてない」
テキストを示すようです。
#<TABLE>こことか<TR>この部分<TD></TD></TR></TABLE>

innerHTMLとして子要素のタグまで返してくれるのはBODYやSCRIPTといった
もの,それから僕自身は未確認ですがNobu3さんの言うdivもおそらくそうでしょう。
だから,TABLEをdivに含めて,divのinnerHTMLを読み出し,書き換える仕様に
すれば実現可能ではないかと。Nobu3さんの言ってる「スクリプトで書き出す」と
いうのはこのことですよね?
#document.writeでbodyを生成することではなくて。

あと,望みは薄いですが,TABLE内にdivを挟み,そのinnerHTMLとして
<TR><TD>を変更するなんてことがもし可能なら,多少操作がしやすいかも。
#そんな変態的なHTMLが有効なら,ですけど(笑)

Nobu3 1999/06/09(水) 15:52:29
まず、「”」の中で「”」を書くと、そこで終わってしまいます。
人間が見てもどこが変数で、どこが文字列なのかよくわかりません。
よく見ると、変数に全角が使われてるみたいですが、やめたほうがいいですね。サンプル用なのかもしれないけど。
ちなみに、docment.write('...');の中なら「”」が使えます。

あと、スクリプト部分だけでなく、HTMLの部分もないと、なぜフォームのエレメント数がテーブルに関係しているのかよくわかりません。

蛇足ですが、<th>は標準でセンタリングするので、align=centerは必要無いと思います。
さらに、スクリプト内では「</」は書かないほうがいいです。

Nobu3 1999/06/09(水) 16:07:00
divの内部の書き換えについては、僕のページですが
http://w2452.nsk.ne.jp/~nobutaka/dhtml/sdh5.htm
で使っています。サンプルとしては不適合でしょうけど。
参考になるならどうぞ。

Nobu3 1999/06/10(木) 01:36:29
ついでに、ややこしい表現を訂正。
>ちなみに、docment.write('...');の中なら「”」が使えます。
これは
「’」の中なら「”」が使えます。
としてください。

Tmb 1999/06/10(木) 15:09:11
一連のばーばぱぱさんの質問に関して,表計算ソフトでやるようなことを
無理にIEでやらせようとしているように見えますが,もしそうなら素直に
表計算ソフトでやらせた方がいいと思うんだけどなぁ。餅は餅屋だし。

#いまさらだけど。そのうち「表のデータを別ファイルに書込/読出した
#い」なんてことになったらお手上げだし。

あと,スクリプティングするときは,いきなり本番用の大きなファイルに
挑むのではなく,使いたい機能が動作するかどうかを小さなテスト用のス
クリプトで試してからにする癖を付けたほうがよいかと。
#前の例で言や,document.writeを使ったことがないのにいきなり大き
#なTABLEを書かせようとすると,結局どこがおかしいのか自分で探す
#ことすらできなくなります。

それとB-Cusさんが別件で言ってたのと同じように,JavaScriptの場合
なら,わざと途中にalertを入れて動作を中断しつつ,内部の変数の挙動を
表示させるようにしてテスト(デバッグ)するようにする癖も必要です。

これらはプログラムを作る上では基本的な手法です。一見面倒臭く感じる
かもしれませんが,初心者のうちからこういった回り道なしで作ろうなど
とは考えない方がよろしいかと。
#もっとも,プログラミングに慣れた人ほど,こういったやり方を自ら
#やるものだと思いますが。

・・・というわけで,回り道のつもりで以下のようなことを試してみては?
1. <div>のinnerHTML(タグを含まない)を書き換える
2. <div>のinnerHTMLにタグを含む文章を書き込む。
3. <div>のinnerHTMLにタグを書き込みTABLEを作らせる。
4. <div>の子要素としてTABLEのタグが拾えるか試す(divName.children.tags("TR").lengthなど)

この4が可能なら,やりたいことの操作はまだ楽になるでしょう。
無理なら<div>の中の表の中身を配列変数にしてやれば可能でしょうけど。
ただ今までのスクリプトを大幅に変更することになって,かなり面倒になるでしょうね。

#でも本来はそうした方が見通しのいいスクリプトになると思うんだけど。

ばーばぱぱ 1999/06/10(木) 19:07:11
Tmbさんのアドバイス通り回り道してやっと
スクリプトでテーブルがかけるようになりました。
今、行削除の方法を探しています。
Nobu3さん、Tmbさん
分からなくなったら、またよろしくお願いします。

Mugi [E-Mail] [HomePage] 1999/06/10(木) 19:47:42
IEのテーブルは、
InsertRow、DeleteRowなどのメソッドを使って
自由に行の挿入などができますよ。
詳しくは
http://msdn.microsoft.com/workshop/c-frame.htm#/workshop/author/default.asp
のDHTML ReferencesのMethodsを見てください。

Mugi [E-Mail] [HomePage] 1999/06/10(木) 20:39:34
テーブル操作の簡単なサンプルをアップしました。
DHTMLがわかるなら、自由に改造できると思います。
http://hp.vector.co.jp/authors/VA013453/js/table.htm

ばーばぱぱ 1999/06/11(金) 11:45:40
Mugiさんのサンプルはエラーが多発してよく分かりませんでした。
JavaScriptでテーブルを書き換えるのはどうすれば良いのですか?
ちなみに選択したところ(背景色が黄色)より下の行のみ書き換えなんてことは
できますか?
テーブルは以下のように作成したのですが、
これだと駄目だといところはありませんか?
アドバイスよろしくお願いします。

<TABLE border="1" align="left">
<TBODY><TR style="background-color : silver;background-attachment :">
      <TH width="80" colspan="3">日付</TH>
      <TH width="100">あ</TH>
      <TH width="120">い</TH>
      <TH width="110">う</TH>
      <TH width="110">え</TH>
      <TH width="80">お

<div id="jj">
<TABLE><TBODY><TR>
</TABLE><script language="javascript">
<!--
aaa=" "
bbb=" "
ccc=" "
ddd=" "
eee=" "
fff=" "
ggg=" "
hhh=" "

for(i=0;i<10;i++){
document.write('<TR style="background-color : white;" onDblClick="syusei()"><TD class="sentaku" width="25">',aaa,'<TD class="sentaku" width="25">',
bbb,'<TD class="sentaku" width="25">',ccc,'<TD class="sentaku" width="99">',ddd,'<TD class="sentaku" width="101">',eee,'<TD class="sentaku" width="107">',
fff,'<TD class="sentaku" width="132">',ggg,'<TD class="sentaku" align="center">',hhh);
}
// -->
</script>
</div></TH>
    </TR>
</TBODY>
</TABLE>

Nobu3 1999/06/11(金) 13:29:02
IE5ではMugiさんのサンプルはちゃんと動きました。
cellsってIE5用なんでしょうか・・・

ばーばぱぱさん?
結局何がしたいのですか?
もう一度整理してみましょうよ。

ソースですが、HTMLが滅茶苦茶です。<table>を閉じたあとで<tr>を書いてもだめでしょう。
あと、スタイルシートですが、使い方をわかってやってます?class=sentakuは<tr>に書けばいいはずですが・・・。
document.writeの中身は長すぎてよくわかりません。変数を使ってやったほうが、後で見てもわかりやすいと思います。

temp=aaa+'hogehoge';
temp+=bbb+'hugahuga';
...
document.write(temp);

小さい事からコツコツと。Tmbさんがいいこといってたんですけどね・・・。
自分では表示できたんですか?テストしたのなら結果を書きませんか?
情報は多くても困る事は無いです。人の言ったことはちゃんと聞いてくださいね。

ばーばぱぱ 1999/06/11(金) 14:39:40
/<table>を閉じたあとで<tr>を書いてもだめでしょう。
なぜかこうしないと表示してくれないのです。
/<TABLE><TBODY><TR>
/</TABLE>
の部分が余計だと思い、削除してみても
エラーが発生し、勝手に作成されてしまうのです。
/class=sentakuは<tr>に書けばいいはず
これも<TD>に書かないと判別してくれないのです。
<TR>に書くとテーブルをクリックしたとき背景色が変わらないのです。
<TD>に書くとちゃんと変わってくれます。

私の環境はIE4ですが、自分の所ではちゃんと表示されます。
最初は小さいものからテストしていってこの
テーブルになったのですが、変数を使うという考えが浮かびませんでした。
活用させていただきます。

Mugi [E-Mail] [HomePage] 1999/06/12(土) 09:29:44
IE4でのエラーを修正しました。

> ちなみに選択したところ(背景色が黄色)より下の行のみ書き換えなんてことは
>できますか?
for文と組み合わせればできるかも。

とほほ 1999/06/12(土) 13:48:51
うーん、なんだか、ラウンジが個人レッスンの場になってしまってきて
いますが・・・

ところで、ばーばぱぱさんは、作成されたプログラムを不特定多数の人
に使ってもらおうとされていますか? それとも、同じOSの、同じブ
ラウザの、同じバージョンの人のみに使ってもらおうとされていますか?

もし、前者であれば、
> /<table>を閉じたあとで<tr>を書いてもだめでしょう。
> なぜかこうしないと表示してくれないのです。
のような方式で開発を行うと、十中八九、他のブラウザ(他のバージョ
ン)では正常に動作しないと思いますが、いかがでしょうか?

あとは、希望ですが、この「ラウンジ」が個人レッスンではなく、第三
者にも有用な情報のタンクになれば・・・嬉しいです。(^_^;)

Tmb 1999/06/13(日) 19:27:33
とりあえずIEのDHTMLを使っていることで,すでに使用者を特定している
ようなものだと理解してますが>とほほさん

ソースの間違いを,ということですが,率直に言って間違いだらけです。
<TABLE>の中に<SCRIPT>はさすがに入らないでしょう。本来<TABLE>
の中に入れられないタグがあるから,その前で<TABLE>を閉じ忘れたものと
見做されて,おかしな挙動になるのでは。タグは数式のカッコと同じで
基本的に閉じなければならないものですし(例外はありますし,なくても
なまじっかに動作してしまうのも問題なのですが)その包含関係をもう一度
復習なさった方がいいと思います。

「習うより慣れろ」とはよく言いますが,もう一度HTMLの書き方について
読み直した方がいいかと思いますよ。せっかくとほほさんが判りやすいリフ
ァレンスとライブラリを公開されてるんですから。

しかし,ちょっと悩みますねぇ。私もいろんな人のお世話になってプログラ
ミングの真似事ができるようになった口ですから,以前の私と同じような
初心者がステップアップするための手助けになればと思って,判る質問には
答えたいと思っているのですが,何かばーばぱぱさんの一連の質問を見てる
と,それを頼みにしてしまう人も出てくるのかなぁ,と。そうなると却って
成長の邪魔をしているようで罪悪感が...。

Mugi [E-Mail] [HomePage] 1999/06/13(日) 22:59:38
そもそも、なぜscriptでテーブルを書き出す必要があるのでしょうか?
IE4以上が対象だとしたら、元のテーブルもデータバインドを使ったりすればいいと思うのですが...
ばーばぱぱさんは、あるテーブルがあるとして、それに対して行の
挿入/削除がしたいわけですよね?
それはIEのDHTMLで簡単にできるとわかったでしょうし、
テーブルを書き出してclass="sentaku"だのinnerHTML=〜
を使う必要はないと思います。

匿名A 1999/06/14(月) 10:14:24
>Tmb氏
>しかし,ちょっと悩みますねぇ。私もいろんな人のお世話になってプログラ
中略
>成長の邪魔をしているようで罪悪感が...。

一般論だが、どこぞの大学教授がこんな事を言っていた。
  「初めは自分なりの解答を用意して質問しに来る生徒にたいして、
   懇切丁寧に解答していると、そのうち自分なりの解答を用意せず
   解答だけを聞きに来るようになる」
ま、なんだな、インターネット用語で言い換えると、
  「初心者−−>質問君」
ってことで、質問者の幼児化が起こるという事を言っているわけだ。
てことで、回答者はそうなりにくい解答を用意してやる必要があると。
質問者もそうならないように意識する必要がある。
#質問君は他のスレッドは読まないからここに書いても無駄だが。

無論100%そうなるわけじゃない。
ばーばぱぱ氏が質問君だと言う気もない。
氏の発言を全部読み直したが、格段に進歩している事は確かだ。

ただし、方向性がちょっとずれてきている気がする。
最初に作るページは小細工に走るべきじゃ無いと俺は思う。
「cgiが使えないので無理して何とかしてやろう」ってことを考えている様な
気がするんだが、その辺どうなの?>ばーばぱぱ氏

繰り返すが、地味でも1からステップ踏んだ方がいいと思うぞ。

あくまで俺的意見なので気にしたく無ければ気にしなくていい。
#禅問答
以上、チャチャ入れ終了

ばーばぱぱ 1999/06/15(火) 10:38:26
皆さんの言う通りです。かなり皆さんに頼りすぎていました。
さて、Mugiさんが作ってくれたソースで
document.all.tbl.insertRow(s)
があるのですが、「引数が不正です」というエラーが発生します。
(s)は何が入るのですか?

Tmb 1999/06/15(火) 11:23:55
こないだMugiさんのソース拝見させてもらいましたが,
列を選択する関数で扱っていたグローバルな変数だったと思います。
型が数値なのか,オブジェクトそのものなのかは失念しましたけど。

#個人的には引数で渡してローカルに扱う方が趣味に合うなぁと思いましたが。
#それか,いっそ関数の戻し値にして引き渡すか。

Mugi [E-Mail] [HomePage] 1999/06/16(水) 10:14:34
s はグローバル変数で、テーブルのセルをクリック(table onclick=の部分)
するたびに選択されたセルの番号が代入されます。
ただ、あのスクリプトは急いで作ったものなので、
1行にセル1個でないと正常に動作しません。
自分で改造してください。

ばーばぱぱ 1999/06/16(水) 14:33:06
ようやく行挿入、行削除ができました。
ただ、行挿入の時に、挿入されたセルの設定がうまくいかないのです。
行挿入する時、以下のようにセルの設定をしているのですが、
クラスが設定されていないのです。
どうすればよいでしょうか。

for(a=0;a<8;a++){ //8列あるので
parent.No2.document.all.tbl.rows[s].cells[a].innerText=" "
parent.No2.document.all.tbl.rows[s].cells[a].style.backgroundColor="white"
parent.No2.document.all.tbl.rows[s].cells[a].className="sentaku"

なお、classNameをclassにしてもだめでした。

Mugi [E-Mail] [HomePage] 1999/06/16(水) 19:04:59
複数のセルに対応しました。
なぜクラスの設定が必要なのかわかりませんが、
うちではクラスの設定はできました。
(サンプルでは追加するセルのクラスをcolor指定あるものに変えています)

http://hp.vector.co.jp/authors/VA013453/js/table.htm

Tmb 1999/06/16(水) 19:12:48
またも他人のマシン(Mac+IE4)で試してみましたが,上のようなやり方で
classNameの指定はできましたけど? 本当にclassNameは変わってませんか?

>parent.No2.document.all.tbl.rows[s].cells[a].className="sentaku"
の前と後ろにそれぞれ
alert(parent.No2.document.all.tbl.rows[s].cells[a].className);
を置いて確認してみてください。
それで変わっていないのであれば各変数名やプロパティの表記に誤りがないかをチェックしましょう。
これで変わっているのであれば,何をもって「クラスが設定されてない」と誤解したのか,ですね。
このクラス名を何に用いているかは判りませんが,むしろ原因はそこにあるのではないですか?

ばーばぱぱ 1999/06/17(木) 10:40:24
大変失礼しました。私の確認ミスでした。
ちゃんとクラスは指定されていました。

クラスを設定していたのは<TH>も選択できてしまうので
それをさけるために付けました。

さらに、挿入した行をクリックすると色が変わりません。
しかもalertで確かめると色が変わっているのです。
見た目は白でも実際は黄色に設定されているのはなぜでしょう。

Mugi [E-Mail] [HomePage] 1999/06/17(木) 11:16:11
僕のサンプルを使っているんですよね?
だったら、style.color=の部分をすべて削除して
変わりに、色指定のあるクラスに変更するようにしてください。
IEはクラスなどの指定よりもstyle属性を優先します。

ばーばぱぱ 1999/06/17(木) 13:31:12
[[解決]]
皆さん、いろいろとアドバイスをありがとうございました。
無事解決しました。
結局、クラスをなくし、<TH>をクリックすると元々指定してあった
色に指定し直すようにしました。
これで<TH>が消えることもなくなりました。
そして、挿入したセルも色が変わるようになりました。

とほほ様、皆様
このラウンジを個人レッスンのようにしてしまったことを
お詫び申し上げます。

[上に] [前に] [次に]