有没有什么方法可以让我运行以下代码:
var data = $("#dataTable").data('timer');
var diffs = [];
for(var i = 0; i + 1 < data.length; i++) {
diffs[i] = data[i + 1] - data[i];
}
alert(diffs.join(', '));
如果在id为#dataTable的元素上有一个名为-timer的属性,那么是否只有?
发布于 2012-08-28 22:12:34
if ($("#dataTable").data('timer')) {
...
}
注意:只有当数据属性不是空字符串或“False值”时才返回true
,例如0
或false
。
如果要检查数据属性是否存在,即使是空的,也要执行以下操作:
if (typeof $("#dataTable").data('timer') !== 'undefined') {
...
}
发布于 2012-08-28 22:11:34
if (typeof $("#dataTable").data('timer') !== 'undefined')
{
// your code here
}
发布于 2014-04-08 22:21:23
为了提供与上面不同的答案,您可以使用Object.hasOwnProperty(...)
检查它,如下所示:
if( $("#dataTable").data().hasOwnProperty("timer") ){
// the data-time property exists, now do you business! .....
}
或者,如果您有多个要迭代的数据元素,则可以对.data()
对象进行变量设置,然后像这样迭代它:
var objData = $("#dataTable").data();
for ( data in objData ){
if( data == 'timer' ){
//...do the do
}
}
并不是说这个解决方案比这里的任何其他解决方案都要好,但至少它是另一种方法……
https://stackoverflow.com/questions/12161132
复制相似问题