我将如何读取数据属性的值并检查属性是否不存在?
例如:
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
进行操作时,它不会破坏它。
JSFIDDLE DEMO
如何获得这样的值:
var value = $(selector).data('myData');
if (!value) do a hasData()
我不认为它是效率低下的,但是如果您真的不想阅读两次,则应检查undefined
:
value = $(selector).data('myData');
if (typeof value === "undefined") {
...