ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery.data()関数の使い方の詳しい説明

jQuery.data()関数の使い方の詳しい説明

巴扎黑
巴扎黑オリジナル
2017-07-08 11:29:262826ブラウズ

data() 関数は、現在の jQueryオブジェクト に一致するすべての要素のデータにアクセスするために使用されます。

data() 関数を通じてアクセスされるデータは一時的なデータであり、ページが更新されると、以前に保存されていたデータは存在しなくなります。

この関数はjQueryオブジェクト(インスタンス)に属します。 data() 関数を通じて保存されたデータを削除する必要がある場合は、removeData() 関数を使用してください。

Syntax

data() 関数には次の 2 つの用途があります:

用途 1:

jQueryObject.data([ key [, value ] ])

指定されたキー名 key でデータにアクセスします。 value パラメータが指定されている場合は、value の値を持つデータがキー名に格納されることを意味し、value パラメータが指定されていない場合は、パラメータが指定されていない場合はキー名に以前に格納されたデータが読み取られることを意味します。指定すると、以前のデータがオブジェクトの形式で返され、すべてのデータが保存されます。

使用法 2:

jQueryObject.data(object)

オブジェクトの各 attribute は、キー名と属性値です。値です。

注: data() 関数のすべての「データの保存」操作は、現在の jQuery オブジェクトによって一致する各要素に対して行われます。すべての「データの読み取り」操作は、最初に一致した要素に対してのみ行われます。

パラメータ

前の構文セクションで定義されたパラメータ名に従って、対応するパラメータを見つけてください。

パラメータの説明

key String型で指定されたオプション/キー名string

値 オプション/任意のタイプ 保存する必要がある任意のタイプのデータ。

オブジェクトオブジェクトクラス指定されたオブジェクトは、複数のキーと値のペアをカプセル化し、複数のデータを同時に保存するために使用されます。

戻り値

data()関数の戻り値は、現在のdata()関数が「データの保存」操作を実行するか「データの読み取り」操作を実行するかによって異なります。手術。

data() 関数が「データの保存」操作を実行する場合は、現在の jQuery オブジェクト自体を返します。「データの読み取り」操作の場合は、読み取ったデータを返します。

現在の jQuery オブジェクトが複数の要素に一致する場合、データを読み取るときに、data() 関数は最初に一致した要素のみを使用します。

data(key)関数実行時に対応するデータが見つからなかった場合(パラメータキーが1つだけ渡された場合)、unknownが返されます。 data() 関数 (パラメータなし) の実行時に対応するデータが見つからない場合は、空のオブジェクト (属性なし) が返されます。

例と説明

次の HTML コードを例として取り上げます:

<div id="n1">
    <div id="n2">
        <ul id="n3">
            <li id="n4">item1</li>
            <li id="n5">item2</li>
            <li id="n6">item3</li>
        </ul>
    </div>  
</div>

次の jQuery コードを書きます:

var $li = $("li");
// 同时向所有的li元素存储数据
$li.data("name", "CodePlayer");
$li.data("desc", "专注于编程开发技术分享");
$li.data("url", "http://www.365mini.com/");
var $n5 = $("#n5"); // 通过n4、n5、n6都可以读取数据
//  返回键值name所对应的数据
document.writeln( $n5.data("name") ); // CodePlayer
// 以对象形式返回所有的数据
var obj = $("#n6").data();
for(var i in obj){
    document.writeln( i + "=" + obj[i] + "<br>");   
}
/*输出:
name=CodePlayer
desc=专注于编程开发技术分享
url=http://www.365mini.com/
*/
//移除掉n4上存储的键名为name的数据
$("#n4").removeData("name");
// 虽然$li匹配3个li元素,但是读取数据只以第一个li元素n4为准,因此返回undefined
document.writeln( $li.data("name") ); // undefined
var object = { 
        name: "张三",
        age: 18,
        score: [87, 23, 56],
        options: { gender: "男", address: "水帘洞" }
    };
// 同时向所有的div元素以对象形式设置多个key-value数据
// value值可以是任意类型的数据,包括数组、对象等
$("div").data( object );
var $n2 = $("#n2"); // 通过n1、n2都可以读取数据
document.writeln( $n2.data("name") ); // 张三
document.writeln( $n2.data("score") ); // 87,23,56
document.writeln( $n2.data("options") ); // [object Object]

以上がjQuery.data()関数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。