デザイナーにも分かりやすいjQuery入門講座|jQueryの使い方

このエントリーをはてなブックマークに追加
索引
Core:コアとなる仕組み
Selectors:セレクタ
Attributes:属性
Traversing:対象の変更
Manipulation:操作
CSS:スタイルシート
Events:イベント
Effects:演出効果
Ajax:xml等との連携
Utilities:ユーティリティ
Data:データ
Miscellaneous:諸々
Deferred:処理管理
Callbacks:コールバック
Internals:内部処理

jQuery.isXMLDoc( )DOMノードがXMLドキュメント内にあるかどうかをチェック

構文

DOMノードがXMLドキュメント内にあるかどうかをチェック返値:true/false
jQuery.isXMLDoc( 調査対象 )ver1.1.4〜

機能

jQuery.isXMLDocメソッドは引数に指定したDOMノードがXMLドキュメント内にあるかどうか(またはXMLドキュメントそのものか)チェックします。

解説

DOMノードがXMLドキュメント内にあるかどうかをチェックする

サンプル(isXMLDoc/01.html)を開いてbody内にbutton要素しかないことを確認して下さい。jQueryでは、まず以下の様にjQuery.parseXMLメソッドを利用してxmlドキュメント「myXML」が作成されていることを確認してください。

var myXML = $.parseXML("<name>john</name>");

続いて以下の部分を確認してください。buttonをクリックするとjQuery.isXMLDocメソッドを利用して、myXMLがXMLドキュメント内にあるか(またはXMLドキュメントそのものか)どうかチェックします。チェックした結果は変数chkに代入しアラートで表示します。

$("button").click(function(){
	var chk = $.isXMLDoc(myXML);
	alert(chk);
});

myXMLはXMLドキュメントなので、buttonをクリックするとアラートで「true」と表示されます。

ちなみにjQuery.parseXMLメソッドでパースされていない文字列のXMLデータはXMLドキュメントとは見なされないためfalseとなります。サンプル(isXMLDoc/01b.html)を開いて、以下の様に変数myXMLに文字列のXMLデータが設定されていることを確認して下さい。

var myXML = "<name>john</name>";

文字列とXMLドキュメントとは別物なので、この場合はXMLドキュメントとは見なされず、buttonをクリックすると「false」が表示されます。

htmlドキュメントはfalseです

XMLドキュメントではない場合のサンプルも確認しておきましょう。サンプル(isXMLDoc/02.html)を開いてisXMLDoc/01.htmlとはほとんど同じで、異なるのは以下の様にjQuery.isXMLDocの引数にXMLドキュメントではなくdocumentが設定されている点だけです。

$("button").click(function(){
	var chk = $.isXMLDoc(document);
	alert(chk);
});

documentはXMLドキュメントではなくhtmlドキュメントなので、buttonをクリックするとアラートで「false」と表示されます。

メモ

色々確認してみた

あまり役に立たないと思いますが、ちょっと気になったのでサンプルを作成しました。サンプル(isXMLDoc/test01.html)を開いて、変数myXMLの値が以下の様に記述されているのを確認して下さい。

var myXML = $.parseXML("<html><body>john</body></html>");

内容はhtmlですがjQuery.parseXMLメソッドを利用してxmlドキュメントにすることができます。結果としてbuttonをクリックすると「true」が表示されます。HTMLもXMLも共にマークアップ言語です。

またjQuery.parseHTMLメソッドを利用してHTMLとしてパースしてしまえばXMLドキュメントではないので「false」が表示されます。→(isXMLDoc/test01b.html

var myXML = $.parseHTML("<html><body>john</body></html>");