是否有一些方法,我可以运行以下:
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的元素上有一个名为data-timer的属性时?
是否有一些方法,我可以运行以下:
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的元素上有一个名为data-timer的属性时?
当前回答
还有:
if ($('#dataTable[data-timer]').length > 0) {
// logic here
}
其他回答
if ($("#dataTable").data('timer')) {
...
}
注意只有当数据属性不是空字符串或“假”值(如0或false)时,才返回true。
如果你想检查data属性是否存在,即使是空的,也要这样做:
if (typeof $("#dataTable").data('timer') !== 'undefined') {
...
}
你可以通过css属性选择来检查
if ($('#dataTable').is('[data-timer]')) {
// data-timer attribute exists
}
var data = $("#dataTable").data('timer');
var diffs = [];
if( data.length > 0 ) {
for(var i = 0; i + 1 < data.length; i++) {
diffs[i] = data[i + 1] - data[i];
}
alert(diffs.join(', '));
}
还有:
if ($('#dataTable[data-timer]').length > 0) {
// logic here
}
在我看来,这是最简单的解决方案,选择所有具有特定数据属性的元素:
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(', '));
下面是它如何工作的截图。