检查数据属性是否有值
我对jquery很新。 我想检查页面加载,如果数据属性有一个值或是空的。 这里是我的html检查数据属性是否有值
data-tablet="img/xl.jpg"
我要如何检查是否有一个路径设置还是空的。 这里是我的js
if ($('#myImg').data('tablet')=null) {
alert('Path not Set');
};
但它给我一个错误。 可以请你告诉我如何解决它。 谢谢。
正如评论中指出的那样,您缺少一个等号,因此您没有进行比较。第二个问题是,如果没有数据属性,则它是undefined
,而不是null
。
if ($('#myImg').data('tablet')===undefined) {
你可以使用它。
if (!$('#myImg').data('tablet')) {
alert('Path not Set');
};
在Javascript中每个对象转换为一个布尔值,所以如果它为空或空字符串,它会是假的,否则这将是真实的。
不工作。如果我省略数据attrabute我如何检查它是否存在? – 2014-11-24 13:46:51
如果数据属性不存在,那么JQuery数据调用将返回undefined,如果该属性存在但它是空白的,那么JQuery将返回一个空字符串。这两个评估为false,因此开头的感叹号表示采取与此相反的情况,这是事实,因此如果data-tablet属性为空或不存在,您将收到警报。 – Shriike 2014-11-24 13:50:46
您可以通过在jquery中使用以下代码来检查数据属性是否有数据或存在。
在一开始,有typeof。这个方便的操作为您提供了一个JavaScript值
if(typeof $('#myImg').data('tablet') != 'undefined') {
// data exist
} else {
// data not exist or undefined
}
的“类型”'='是赋值,''==是平等和''===是身份 – blgt 2014-11-24 13:45:05
由于@blgt说,这很可能是一个问题与你的语法。如果您在问题中指定了您实际看到的错误,那将会很有用。 – 2014-11-24 13:45:54
可能重复[不能使多个如果条件在JavaScript?](http://*.com/questions/6727601/cant-make-multiple-if-conditions-in-javascript) – 2014-11-24 14:08:56