Javascript 测试是否缺少.data()结果
如何读取数据属性的值并检查该属性是否不存在 例如:Javascript 测试是否缺少.data()结果,javascript,jquery,Javascript,Jquery,如何读取数据属性的值并检查该属性是否不存在 例如: var value = $(selector).data('myData'); 检查data myData属性是否丢失或不包含数据的最可靠方法是什么?如果它丢失了,并且我使用了'value.length',那么我将得到一个错误 我知道我可以使用hasData(),但是,如果数据在那里,我需要它,而且两次检查值似乎效率较低。我通常只执行以下操作: var value = $(selector).data('myData') || '';
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)
至少通过这种方式,您有一个备份值,因此当您对变量值执行操作时,它不会破坏它
我通常只做:
var value = $(selector).data('myData') || '';
// or || 0;
// or || someBackupVariable;
// (just depends on what you want/need)
至少通过这种方式,您有一个备份值,因此当您对变量值执行操作时,它不会破坏它
这样获取值怎么样:
var value = $(selector).data('myData');
if (!value) do a hasData()
这样获取值怎么样:
var value = $(selector).data('myData');
if (!value) do a hasData()
我不认为它效率低下,但如果你真的不想读两遍,你应该检查未定义的
:
value = $(selector).data('myData');
if (typeof value === "undefined") {
...
我不认为它效率低下,但如果你真的不想读两遍,你应该检查未定义的
:
value = $(selector).data('myData');
if (typeof value === "undefined") {
...
我只想用它的真实价值if(value){alert(“它有一个值!”)}
唯一的缺点是,如果数据包含错误值,if将失败。这可以通过一个简单的==
比较来解决,这个比较基于它应该包含的数据。我只需要使用它的真实值if(value){alert(“它有一个值!”)}
唯一的缺点是,如果数据包含错误值,if将失败。这可以通过一个简单的==
比较来解决。FWIW,对于false
、0
和“
值,此方法失败:。因此你的答案不能被认为是正确的。这就是为什么|
部分很重要的原因,因为你需要知道你想要什么作为备份。在false/0/'
的情况下,将其中任何一个作为默认值都可以,在这种情况下,false将使默认值变为false<代码>变量值=$(“#测试”).data('mydata')| | false代码>也尝试将其更改为true
@VisioN,除非该数据值永远不会包含这样的值,或者如果这样的值在逻辑中无论如何都意味着false。FWIW,对于false
、0
和值,此方法失败。
值:。因此你的答案不能被认为是正确的。这就是为什么|
部分很重要的原因,因为你需要知道你想要什么作为备份。在false/0/'
的情况下,将其中任何一个作为默认值都可以,在这种情况下,false将使默认值变为false<代码>变量值=$(“#测试”).data('mydata')| | false代码>也尝试将其更改为true
@除非数据值永远不会包含这样一个值,或者如果这样一个值在逻辑中无论如何都意味着false,否则VisioN。