parentElementを取得してテーブルの行の背景色を替えています。下記だと、テーブルがない場合、ページ全部の色が変わってしまうので、parentElementがbodyの場合?処理しないようにしたいのですが・・。


function winOpen(winName,url,W,H,L,T,obj){
//サブウインドウオープン
obj.parentElement.parentElement.bgColor="Palegoldenrod";
var WinD11=window.open(url,winName,'scrollbars=1,resizable=yes,width='+W+',height='+H+',left='+L+',top='+T+'');
WinD11.document.close()
}

A 回答 (1件)

引数のobjにどんなオブジェクトが渡されるのか書かれていないので、間違ったことを書いているかもしれませんが、多分下のように条件をつけて処理すればいいと思います。



if (obj.parentElement.parentElement.tagName != "BODY") {
obj.parentElement.parentElement.bgColor="Palegoldenrod";
}

あるいは、

if (obj.parentElement.parentElement.tagName == "TR") {
obj.parentElement.parentElement.bgColor="Palegoldenrod";
}
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
とてもよく理解できました。
早速活用させていただきます。

お礼日時:2002/03/16 13:01

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

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

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

Qvar now = +new Dateの +は何?

var now = +new Dateの意味を教えてください
・現在時刻を取得?
・「 = +」の意味は? 「+=」みたいな短縮表記した演算子?
・「new Date」や「Date.now()」とは何が違うのでしょうか?

Aベストアンサー

+は単項プラス演算子です。

var now1 = +new Date();
var now2 = new Date();
alert(typeof now1);
alert(typeof now2);

で何となく分かると思いますが、+を付けることで数値に変換しています。


【JavaScript】単項 + 演算子で数値にする at softelメモ
http://www.softel.co.jp/blogs/tech/archives/4396

Q&= ~0x0c; &= ~0x03; |=1;

JavaScriptで分からないコードがあるので教えてください。


■変数設定
var hoge = 0;


■変数格納
・キーを押した時の条件分岐
  ~なら hoge |= 1;
  または hoge |= 2;
  または hoge |= 3;
  または hoge |= 8;

・キーを離した時の条件分岐
  ~なら hoge &= ~0x0c;
  または hoge &= ~0x03;


■変数使用
・swithch文の条件分岐に利用
  (hoge&0x03)
  (hoge&0x0c)


■質問
・どういう意味でしょうか?
・文字コード?
・ビット演算?

Aベストアンサー

ビット演算してるわね

x = x + a

x += a
って書くことができるの

つまり
hoge |= 1

hoge = hoge | 1
のことね

~はNOTのこと

0x
はアスキーコードの16進数表記ねきっと

0x0c は改ページを意味していて
0x03 は文章の最後を意味している
と思われるわ
全文がないので推測だけど

Qid=a1 id=a2 id=a3 のようなid="a"+i のlengthを求めたい

id=a1 id=a2 id=a3 のようなid='a'+i のlengthを求めたい
のですが、どのようにするのでしょうか?

Aベストアンサー

たとえばこんな感じでどうでしょう?

<script>
window.onload=function(){
var tags=document.getElementsByTagName("*");
var count=0;
for(var i=0;i<tags.length;i++){
if(tags[i].id.match(/^a[0-9]+$/)) count++;
}
alert(count);
}
</script>

<div id="a1">a1</div>
<div id="a2">a2</div>
<div id="a3">a3</div>
<div id="a100">a100</div>
<div id="b1">b1</div>
<div id="b2">b2</div>
<div>none</div>

Qonmouseover="this.className=をjsファイルにまとめて、指定する場所はid=menu1,2~....かclass=menuで統一したい

<div class="font1 bor1"
onmouseover="this.className=this.className+' bgcol txcol'"
onmouseout="this.className='font1 bor1'">
というものがあったとしてこれを
<div id="menu1・・・2・・・">だけにして
onmouseover=~をjsに略記できるようにしたいのですが
何かいい手はありませんか?

idで指定できる版のほかに
classで指定できる版があるとうれしいです。classだと難しいでしょうか?

また、こちらももしできればでいいのですが、this.classNameを
指定IDのclassName等もできるのでしょうか?

質問に不足があれば答えられる範囲で答えます。よろしくお願いします。

Aベストアンサー

もうひとつ、質問内容を把握できてませんが、
jQueryを使ったサンプルを。中身は
「font1」ってclassを持つ要素のマウスオーバーで
bgcol と txcol の二つのクラスを追加する。
マウスアウトで
bgcol と txcol の二つのクラスを取り除く。
です。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){

$('.font1').hover(function(){
$(this).addClass("bgcol");
$(this).addClass("txcol");
},function(){
$(this).removeClass("bgcol");
$(this).removeClass("txcol");
});

});
</script>

$('.font1') という部分を $('#font1') と書けば id="font1" の要素に対する設定になります。 

jQueryの解説、入手先等は
http://www.openspc2.org/JavaScript/Ajax/jQuery_study/index.html
とか、参考にしてください。

もうひとつ、質問内容を把握できてませんが、
jQueryを使ったサンプルを。中身は
「font1」ってclassを持つ要素のマウスオーバーで
bgcol と txcol の二つのクラスを追加する。
マウスアウトで
bgcol と txcol の二つのクラスを取り除く。
です。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){

$('.font1').hover(function(){
$(this).addClass("bgcol");
$(this).addClass("txcol");
},function(){
$(this).removeClass("bgcol");...続きを読む

Q'' なぜ分割?

JavaScript が使われているページのソースを見ると
たまに

document.write('<SCR' + 'IPT LANGUAGE="JavaScript…

という感じに SCR と IPT をわざわざ結合しているページが見受けられます。

なぜ <SCRIPT … と書かずにこのようなことをするのでしょうか?
どのような効果があるのでしょうか?

Aベストアンサー

推測ですが、<SCRIPT と書いてしまうとブラウザによってはそのスクリプト内文字列を<SCRIPT>タグと勘違いしてしまう事があるのではないでしょうか。


人気Q&Aランキング

おすすめ情報