codecamp

jQuery 遍历 - hasData() 方法

实例

在元素上设置数据,然后查看 hasData 的结果:

$(function(){
  var $p = jQuery("p"), p = $p[0];
  $p.append(jQuery.hasData(p)+" "); /* false */
  jQuery.data(p, "testing", 123);
  $p.append(jQuery.hasData(p)+" "); /* true */
  jQuery.removeData(p, "testing");
  $p.append(jQuery.hasData(p)+" "); /* false */
});

亲自试一试

定义和用法

hasData() 方法检测元素是否拥有与之相关的任何 jQuery 数据。

语法

jQuery.hasData(element)
参数描述
element可选。需要检查其数据的 DOM 元素。

详细说明

jQuery.hasData() 方法检测元素当前是否拥有通过使用 jQuery.data() 设置的任何值。如果没有数据与元素相关(根本不存在数据对象或者数据对象为空),则该方法返回 false;否则返回 true。

jQuery.hasData(element) 的主要优势是,在不存在数据对象的情况下,不会创建并将数据对象与元素进行关联。相反地,jQuery.data(element) 总是向调用者返回数据对象,如果之前数据对象不存在,则会创建它。

温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }