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