jQuery.support
version 1.3以降
解説
ブラウザがサポートする機能の情報を提供する、プロパティのコレクションです。
ブラウザの機能に依存したコードを実装する場合、ブラウザの種別に基づくよりも、ブラウザがサポートする機能に基づいて実装を変える方が、より良い方法であると言えます。
jQueryはブラウザがサポートする機能を判別し、jQuery.support オブジェクトのプロパティとして提供します。
以下のWebサイトでは、ブラウザがサポートする機能について詳しく説明されています。
プロパティ一覧
プロパティ |
型 |
説明 |
boxModel |
Boolean |
ブラウザが、W3C CSS Box Model に基づいてページをレンダリングしている場合はtrue を返します。
(IE6もしくは7のQuirksモードでは、false を返します。)
このプロパティは、DOM要素の読み込みが終了し、準備が完了するまではnull を返します。
|
cssFloat |
Boolean |
CSSのFloatの値をcssFloat プロパティで取得できる場合にはtrue を返します。
(IEの一部のバージョンでは、styleFloat で取得するため、false を返す場合があります。)
|
hrefNormalized |
Boolean |
getAttribute() メソッドを使用して href 属性値を取得する場合、href 属性値をそのまま返す場合はtrue を返します。
(IEの一部のバージョンでは、hrefの値を完全修飾するため、false を返す場合があります。)
|
htmlSerialize |
Boolean |
innerHTML を使用して値を取得する場合、シリアライズされた値を返す場合はtrue を返します。
(IEではfalse を返します。)
|
leadingWhitespace |
Boolean |
innerHTML を使用して値を取得する場合、先頭の空白をそのまま返す場合はtrue を返します。
(IE6-8ではfalse を返します。)
|
noCloneEvent |
Boolean |
要素がコピーされる場合に、要素が持つイベントハンドラをコピーしない場合はtrue を返します。
(IEではfalse を返します。)
|
objectAll |
Boolean |
getElementsByTagName('*') メソッドを呼び出した場合に、全ての子孫要素を返す場合はtrue を返します。
(IE7/8ではfalse を返します。)
|
opacity |
Boolean |
opacityプロパティで透明度を指定できる場合はtrue を返します。
(IEでは、alpha filtersで指定するためfalse を返します。)
|
scriptEval |
Boolean |
appendChild() やcreateTextNode() といった標準的なメソッドを使用して要素を追加した場合に、インラインスクリプトを自動的に評価して実行する場合はtrue を返します。
(IEではfalse を返します。IEでは .text を使用すれば、インラインスクリプトを自動的に評価して実行します。)
|
style |
Boolean |
要素のstyle属性を、getAttribute('style') で取得できる場合はtrue を返します。
(IEではfalse を返します。IEでは .cssText を使用して、要素のstyle属性を取得します。)
|
tbody |
Boolean |
<tbody>要素が存在しない<table>要素を許可する場合はtrue を返します。
(IEではfalse を返します。IEでは <tbody>要素が存在しない<table>要素には、自動的に<tbody>要素を追加します。)
|
checkOn |
Boolean |
チェックボックスの値が指定されていない場合、デフォルト値が"on" である場合はtrue を返します。
(WebKitの場合、デフォルト値は"" です。)
|
checkClone |
Boolean |
cloneNode()を使用して要素を複製する場合、要素のチェック状態も含めコピーする場合はtrue を返します。
(WebKitの場合はチェック状態がコピーされないため、false を返します。)
|
deleteExpando |
Boolean |
拡張した要素の属性を、delete 演算子で削除できる場合はtrue を返します。
(IEではfalseを返します。)
|
例
jQuery.support が持つプロパティの値を、現在表示しているブラウザで表示します。
|