• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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: