- PR -

selectNodes について困っています。

1
投稿者投稿内容
fox0806
会議室デビュー日: 2001/10/02
投稿数: 4
投稿日時: 2001-10-02 10:05
いつもお世話になっています。
HTML側から項目をセレクトしボタンを押してjsのfunctionにとばして処理させ
そこで抽出した結果をHTMLに返す...
というプログラムを作っております。

var selectedNodes = booksDoc.selectNodes( ps );

しかしwinのネスケとmacのIE、ネスケで上記の個所でエラーが発生します。
この記述で何か問題あるのでしょうか?
WINのIEでは正常に動作いたします。

ちなみに booksDoc は

<xml
id="booksDoc"
src="masui.xml"> </xml>”

上記のようにHTML側で定義してあります。
またIE以外ではIDがそのままオブジェクト名として通用しないような
ことをほかでお聞きしたので

var selectedNodes = document.getElementById('booksDoc').selectNodes( ps );

ともしてみたのですが結果は変わりませんでした。
ちなみにネスケでデバックした結果のエラーは

エラー: document.getElementById("booksDoc").selectNodes is not a function

というものがでております。

ご教授どうぞよろしくお願いいたします。

<追加>
個人的に調べて分かったのですがマック版のIEとNN(4.x)では
DOMなんかがサポートされてないようで動作しないようです。
ただNN6以上ではサポートされているようでこちらでは動くようなことは
あったのですが...
JAVA自体まだ初心者なものでお心当たりの方いましたら
どうかよろしくお願いいたします。




[ メッセージ編集済み 編集者: fox0806 編集日時 2001-10-03 09:57 ]
ocean
会議室デビュー日: 2001/10/07
投稿数: 7
投稿日時: 2001-10-08 11:41
IE-Win以外ではXMLオブジェクトが実装されていないのだと思います。
代わりに、DOMを使って読み込んではどうでしょうか。

xml_doc = new ActiveXObject("Microsoft.XMLDOM");
xml_doc.load("document.xml");

また、下のエラーが生じる理由は、

エラー: document.getElementById("booksDoc").selectNodes is not a function

この関数が標準規格で次のように定義されていて、

Element HTMLDocument::getElementById(in DOMString elementId);

IXMLDOMDocumentではなく、Elementが得られるためです。


これは、document.getElementById("frameName") では
フレームウィンドウが得られず、document.frames("frameName") を
使うと得られるのと、同じです。


1

スキルアップ/キャリアアップ(JOB@IT)