是否有一些方法,我可以运行以下:

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的属性时?


当前回答

或者结合一些香草JS

if ($("#dataTable").get(0).hasAttribute("data-timer")) {
  ...
}

其他回答

还有:

if ($('#dataTable[data-timer]').length > 0) {
    // logic here
}
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 (typeof $("#dataTable").data('timer') !== 'undefined')
{
    // your code here
}

我发现这种方法在动态设置数据元素时效果更好:

if ($("#myelement").data('myfield')) {
  ...
}

你可以通过css属性选择来检查

if ($('#dataTable').is('[data-timer]')) {
   // data-timer attribute exists
}