我如何读取数据属性的值并检查该属性是否不存在?
例如:
var value = $(selector).data('myData');
检查data-myData
属性是否缺失或不包含数据的最可靠方法是什么?如果它丢失了,我会“value.length”,那么我会收到错误。
我知道我可以使用hasData()
但是,如果有数据,我需要它,并且检查值两次似乎效率不高。
答案 0 :(得分:3)
我通常只是这样做:
var value = $(selector).data('myData') || '';
// or || 0;
// or || someBackupVariable;
// (just depends on what you want/need)
至少这样你有一个备用值,所以当你对变量value
进行操作时,它不会破坏它。
<强> jsFiddle Demo 强>
答案 1 :(得分:1)
如何获得这样的值:
var value = $(selector).data('myData');
if (!value) do a hasData()
答案 2 :(得分:1)
我认为它效率不高,但如果你真的不想读两遍,你应该检查undefined
:
value = $(selector).data('myData');
if (typeof value === "undefined") {
...