document.forms[0]
が何かを返すのはなぜですか(ページの最初のフォーム)、document.getElementById("thediv").forms[0]
は何も返しません。より複雑なページでなぜdocument.getElementById( "thediv")。forms [0]は要素を返しませんか?
、私はIDを指定することにより、form
要素のためのブラウザの検索の範囲を絞り込むことができ期待します。
document.forms[0]
が何かを返すのはなぜですか(ページの最初のフォーム)、document.getElementById("thediv").forms[0]
は何も返しません。より複雑なページでなぜdocument.getElementById( "thediv")。forms [0]は要素を返しませんか?
、私はIDを指定することにより、form
要素のためのブラウザの検索の範囲を絞り込むことができ期待します。
forms
はdocument
のプロパティです。 document.getElementById
は、HTMLElementオブジェクトを返す関数です。これにはformsというプロパティはありません。もっと論理的なjavascriptが必要ならjQueryを見てください。
DOM要素オブジェクトにforms
というようなプロパティがないため、only the document
objectです。
フォームは、ドキュメントツリー内のどこにあっても同じページ内のフォームです。特定の親要素に基づいてページ上のフォームのサブセットを取得する必要がある場合は、おそらくjQueryのようなライブラリを試してみてください。
document.getElementById('thediv').getElementsByTagName('form')[0];
自分のIDに興味のあるフォームを与えてから、フォームIDにdocument.getElementByIDを使用して関連するフォームを直接見つけるのはどうでしょうか。私の推測では、ドキュメントにはフォーム配列がありますが、個々のdivはそうではありません。 – jfriend00
@ jfriend00 - これは確かにオプションですが、この場合、クライアントのマークアップを変更する機能はありません。この質問で、私は一方通行がなぜ働くのか、もう片方が通用しないのかを理解しようとしています。 ;) – KatieK