load(url [,data] [,complete(responseText,textStatus,XMLHttpRequest)])

jQuery API の load( url [, data] [, complete( responseText, textStatus, XMLHttpRequest )] ) は、サーバからHTMLデータを読み込み、マッチした要素内に、読み込んだHTMLデータを配置する。

引数

url

リクエスト送信先のURLを含む文字列。

URLの後ろにスペースを入れ、スペースの後ろに、セレクターを使用できる。

data

オプション。

サーバへ送信するデータ。マップで指定する。

complete( responseText, textStatus, XMLHttpRequest )

オプション。

リクエストが完了すると実行するコールバック関数。

responseText

リクエストに対する戻り値。

textStatus

リクエストの現在の状態。

XMLHttpRequest

XMLHttpRequestオブジェクト。

記述方法

jQuery( セレクター ) . load( url );

urlに指定したHTMLデータを読み込み、セレクターにマッチした要素内に、読み込んだHTMLデータを配置する。

記述例

jQuery( '#sample' ) . load( 'sample.html' );

「sample.html」を読み込み、idが「sample」である要素内に、読み込んだHTMLデータを配置する。

jQuery( '#sample' ) . load( 'sample.html .sample-load' );

「sample.html」ファイル内のクラス名が「sample-load」である要素を読み込み、idが「sample」である要素内に、読み込んだ要素を配置する。

実装例(サンプル)

実装例(サンプル)の動作について

「toggle」ボタンをクリックすると、「jquery-sample-load.html」ファイル内のidが「jquery-sample-contents」であるp要素を読み込み、黄色のボックス要素内に表示する。「toggle」ボタンを、再度クリックすると、元に戻す。

実装例(サンプル)のソースコード

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-sample-button' ) . toggle(
        function() {
            jQuery( '#jquery-sample-load' ) . load(
                'jquery-sample-load.html #jquery-sample-contents',
                function( responseText, textStatus, XMLHttpRequest ) {
                    if( textStatus == 'success' ) {
                        jQuery( '#jquery-sample-textStatus' ) . text( '読み込み成功' );
                    } else {
                        jQuery( '#jquery-sample-textStatus' ) . text( '読み込み失敗' );
                    }
                }
            );
        },
        function() {
            jQuery( '#jquery-sample-load' ) . html( '' );
            jQuery( '#jquery-sample-textStatus' ) . text( '' );
        }
    );
} );
// -->
</script>

CSS

<style type="text/css">
<!--
#jquery-sample {
    margin: 10px;
    width: 200px;
}
#jquery-sample-load {
    margin: 10px;
    padding: 10px;
    height: 100px;
    background-color: yellow;
    border: 1px solid gray;
    border-radius: 10px;
}
-->
</style>

HTML

<div id="jquery-sample">
    <p>
        <button id="jquery-sample-button">toggle</button>
        <span id="jquery-sample-textStatus"></span>
    </p>
    <div id="jquery-sample-load"></div>
</div>

読み込んだHTMLファイルの中身

<p id="jquery-sample-contents">読み込んだ内容。</p>

スポンサード リンク

カテゴリー: Ajax, API, JavaScript, jQuery, 省略形メソッド タグ: パーマリンク