WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:<DIV>のidを取る方法

0:[投稿] aiko [2002/06/13 11:40 ][環境:WIN+NN わからない]


<Form Name = "FormName">
<DIV id = "div1">
 <INPUT type = "text" name = "textName" id="idName"     size="30">
</DIV>
</Form>

というソースの中の<DIV>のidを取りたいとき、

ret = document.getElementById('div1').id

で取ることができますよね?

getElementById()はIE5.0以上、NN6.0以上の機能だと認識していますが、(ちなみにその他IEはdocument.all('div1').idで取得できますよね?環境がないためIE5.0以上のブラウザでしか実験していないのですが・・・)
同じ事をNN4.7環境下で行いたいのです。
document.layers.div1 としてもダメでした。
どうすれば取得できますか?

ちなみにgetElementId()は<DIV>だけでなく、テキストボックス・テキストエリアともに適応できました。
document.getElementById('textName').name でテキストボックスの名前が、document.getElementById('textName').value で
テキストボックスの値がそれぞれ取得できました。
'textName'を'idName'にしても同じでした。
getElementById()はレイヤー部のid取得だけでなく、
テキストボックスのオブジェクトを取得することにも使えるのでしょうか。

似たような質問を以前したことがあるのですが、そのときは自分自身要領を得ていなかったので
あやふやな質問になっていため、再度投稿しました。

よろしくお願いします。


1:[回答] ひよこ [2002/06/15 04:05 ]

有名どころで、ここなんかが参考になるかも。クロスブラウザあたり
http://www.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/index.htm


2:[回答] おーなーしぇふ [2002/06/15 19:14 ]

>同じ事をNN4.7環境下で行いたいのです。
>document.layers.div1 としてもダメでした。
>どうすれば取得できますか?

NN4の場合、cssでpositionの指定があると取得できるようです。
※ただしpositionの指定により、見え方が変わるかもですが。

例)
<style type="text/css">
div.layer {
    position: relative;
    border: 1px solid #000;
    margin-top: 0em;
    margin-bottom: 0em;
}
</style>

<div id="test" class="layer">
<p>テスト</p>
</div>

<script type="text/javascript">
alert( document.test.id );    /* "test"と表示 */
</script>

>getElementById()はレイヤー部のid取得だけでなく、
>テキストボックスのオブジェクトを取得することにも使えるのでしょうか。

そう……といいますか、要するにidが指定されている要素(Element)一般を直接取得できる、ということになるのでは。
※Get Element By Id ですから


3:[回答] あー [2002/06/16 09:24 ]

ぬあぅ。ID を取るために getElementById() を使うなんて……。
嘘でしょう?。有り得ない。有り得ないに決まっている。


4:[回答] ween [2002/06/16 13:54 ]

NN4.x は Layer 内の docoument が独立してるので
>>0 のように input を div で囲んで位置指定したりすると
Layer 内の form で囲まれていない input と同じ状態になり
いろいろな支障が出ると思うのですが。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World