1

データ属性の値を読み取り、属性が存在しないかどうかを確認するにはどうすればよいですか?

例えば:

var value = $(selector).data('myData');

data-myData属性が欠落しているか、データが含まれていないかどうかを確認する最も信頼できる方法は何ですか? 欠落していて「value.length」を実行すると、エラーが発生します。

使用できることはわかっていますhasData()が、データが存在する場合はそれが必要であり、値を 2 回チェックするのは効率が悪いようです。

4

3 に答える 3

3

私は通常ただします:

var value = $(selector).data('myData') || ''; 
                                 // or || 0;
                                 // or || someBackupVariable;
                                 // (just depends on what you want/need)

少なくともこの方法ではバックアップ値があるので、変数に対して操作を行っても変数valueが壊れることはありません。

jsFiddleデモ

于 2012-12-18T18:34:14.320 に答える
1

このような値を取得するのはどうですか?

var value = $(selector).data('myData');
if (!value) do a hasData() 
于 2012-12-18T18:34:25.527 に答える
1

効率が悪いとは思いませんが、本当に二度読みたくない場合は、次のことを確認してくださいundefined

value = $(selector).data('myData');
if (typeof value === "undefined") {
    ...
于 2012-12-18T18:35:45.880 に答える