Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

getElementsbyTagName() の代替は

504 views
Skip to first unread message

吉見 隆

unread,
Oct 25, 2004, 6:32:19 AM10/25/04
to
吉見です。

質問です。
あるページで、いくつかのテーブルに同じ処理を行おうとしています。
テーブルごとに id をつけてもいいのですが、たくさんあると手間なので、ま
とめてできる方法はないかと思って探していました。

document.getElementsByTagName('table')

でページ内のすべてのテーブルのリストを得ることができることがわかりまし
たが、このプロパティが存在しない場合にはどのように代替可能でしょうか。

以前、document.getElementById('id') は、ブラウザが対応しない場合に判
定してdocument['id']で置き換えるように教えていただきましたが、
getElementsByTagName の場合にも同様の置換をする方法がありましたら教え
てください。

--
吉見 隆 mailto:tak-y...@NOSWENrio.odn.ne.jp

T. Sugita

unread,
Oct 25, 2004, 10:50:45 AM10/25/04
to
すぎたです。

In message news:cliknk$kng$1...@caraway.media.kyoto-u.ac.jp
"吉見 隆" <tak-y...@NOSWENrio.odn.ne.jp> wrote ...

> 以前、document.getElementById('id') は、ブラウザが対応しない場合に判
> 定してdocument['id']で置き換えるように教えていただきましたが、
> getElementsByTagName の場合にも同様の置換をする方法がありましたら教え
> てください。

ブラウザによって異なると思います。
IE だと、IE4 は document.getElementById('id') は無いので、
document.all['id'] を使うことになり、IE4 で使えるかわからないですが、
IE 系だと、document.getElementsByTagName('tagname') 相当は
document.all.tags('tagname') も使えます。

Opera 6.x あたりだと、多分どちらも無いんじゃないかと思います。
# Opera6の起動は遅いので、確認してないですが・・・(^^;

--
杉田
sugi...@bk.iij4u.or.jp

Yasushi Shinjo

unread,
Oct 25, 2004, 12:10:06 PM10/25/04
to
新城@筑波大学情報です。こんにちは。

In article <cliknk$kng$1...@caraway.media.kyoto-u.ac.jp>


吉見 隆 <tak-y...@NOSWENrio.odn.ne.jp> writes:
> あるページで、いくつかのテーブルに同じ処理を行おうとしています。
> テーブルごとに id をつけてもいいのですが、たくさんあると手間なので、ま
> とめてできる方法はないかと思って探していました。
>
> document.getElementsByTagName('table')

これ、XML の処理系の DOM の手続きですね。

> でページ内のすべてのテーブルのリストを得ることができることがわかりまし
> たが、このプロパティが存在しない場合にはどのように代替可能でしょうか。

getChildNodes() して再帰するっというのは、たぶんダメなんでしょ
うね。getElementsByTagName() がないようだと、getChildNodes()
もないんでしょう。

JavaScript って、DOM に関して何か標準があるんですか。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Oct 25, 2004, 7:04:53 PM10/25/04
to
久野です。

y...@is.tsukuba.ac.jpさん:


> これ、XML の処理系の DOM の手続きですね。

そういう断言はどうなんだろう。XMLよりDOMの方が実装は古くから存
在していそうだけど。

> JavaScript って、DOM に関して何か標準があるんですか。

http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/
ecma-script-language-binding.html

1998.10.1ってXMLにネームスペース入るよりも前です。 久野

T. Sugita

unread,
Oct 26, 2004, 10:05:12 AM10/26/04
to
In message news:clj3u8$bi6$1...@news00.iij4u.or.jp
"T. Sugita" <nws-...@bp.iij4u.or.jp> wrote ...

> IE 系だと、document.getElementsByTagName('tagname') 相当は
> document.all.tags('tagname') も使えます。
>
> Opera 6.x あたりだと、多分どちらも無いんじゃないかと思います。
> # Opera6の起動は遅いので、確認してないですが・・・(^^;

以前 Opera で document.getElementsByTagName() が使えなかった
気がしてたのですが、今日試してみたら、
document.getElementsByTagName()
document.all.tags()
共に使えました。
やっぱり確認してみないと駄目ですね・・・(^^;;;

あと、総当たりで、

for (i=0; i < document.all.length; i++) {
if (document.all[i].tagName == "TABLE")
alert("hit");
}

でも OK でした。
ただ、セルの中身を操作する方法はわからなかったです。

# IE なら、.rows[].cells[].innerText 等か
# DOM になります。

--
杉田
sugi...@bk.iij4u.or.jp

Yasushi Shinjo

unread,
Oct 26, 2004, 3:04:51 PM10/26/04
to
In article <clk0ql$25...@utogw.gssm.otsuka.tsukuba.ac.jp>

ku...@gssm.otsuka.tsukuba.ac.jp writes:
> > これ、XML の処理系の DOM の手続きですね。
> そういう断言はどうなんだろう。XMLよりDOMの方が実装は古くから存
> 在していそうだけど。

「XML または HTML の処理系の DOM の手続き」なら断言していい
ですか。

> > JavaScript って、DOM に関して何か標準があるんですか。
> http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/
> ecma-script-language-binding.html
> 1998.10.1ってXMLにネームスペース入るよりも前です。 久野

ECMAScript の所が、JavaScript の標準ということですか。
それには、childNodes() は、定義されています。

元の話は、getElementsByTagName() がなくて、childNodes() があ
るJavaScript の処理系が存在するのかどうかという話なんだけど。
あれば、それで再帰して探せばいいわけです。firstChild() から
lastChild() まで nextSibling() で回してもいいけど。

DOM だと改行だけでもノードになるのが気に入らないんだけど。

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Oct 26, 2004, 8:10:12 PM10/26/04
to
久野です。

y...@is.tsukuba.ac.jpさん:


> 「XML または HTML の処理系の DOM の手続き」なら断言していいですか。

別にDOMだけでもいいような ^_^;

> ECMAScript の所が、JavaScript の標準ということですか。

ああ、そうです! もしかしてECMAScriptはJavaScriptじゃないだろう
とかいう突っ込みだったりして ^_^;; そういうことになるとIEには
JavaScriptなんか載ってないという話になるわけですが…

> 元の話は、getElementsByTagName() がなくて、childNodes() があ
> るJavaScript の処理系が存在するのかどうかという話なんだけど。

すいません、よく読んでませんでした。だったらなさそうだな。

> DOM だと改行だけでもノードになるのが気に入らないんだけど。

まあちょっと不便だけど改行の情報捨てちゃうのも用途によっては困
るんでしょうね。

慣れればそういうもんだと思って使うかな。 久野

0 new messages