jQuery.hasData()
jQuery.hasData(element)
确定任何一个元素是否有与之相关的jQuery数据。
jQuery.hasData(element)
- element类型: Element。一个用于进行检查数据的DOM元素。
jQuery.hasData(element)
的主要优点是它并不创建 data 对象。如果元素上没有 data 对象,那么该方法也不会与元素上的 data 对象关联。相反,jQuery.data(element)
总是向调用者返回一个 data 对象,即使该元素上不含有 data 对象,它也会创建一个。
请注意,jQuery的事件系统是使用jQuery数据存储事件处理程序的。因此,使用.on()
,.bind()
,.live()
,.delegate()
,或一个速记事件方法绑定事件到一个元素上的时候,也会在那个元素上关联一个 data 对象。
例子
元素上设置数据,看到hasData的结果。
<!DOCTYPE html> <html> <head> <script src="https://www.lanmper.cn/static/js/jquery-3.5.0.js"></script> </head> <body> <p>Results: </p> <script>var $p = jQuery("p"), p = $p[0]; $p.append(jQuery.hasData(p)+","); /* false */ $.data(p, "testing", 123); $p.append(jQuery.hasData(p)+","); /* true*/ $.removeData(p, "testing"); $p.append(jQuery.hasData(p)+","); /* false */ $p.on('click',function () {}); $p.append(jQuery.hasData(p)+","); /* true */ $p.off('click'); $p.append(jQuery.hasData(p)); /* false */ </script> </body> </html>
Results: