# jQuery.hasData()

所属分类：数据操作 英文文档：jQuery.hasData()

## jQuery.hasData( element )返回: Boolean

描述: 确定任何一个元素是否有与之相关的jQuery数据。

- #### 添加的版本: 1.5jQuery.hasData( element )

  - element
    类型: Element
    一个用于进行检查数据的DOM元素。

`jQuery.hasData()`方法提供了一种方法来确定一个元素是否有任何数据，这些数据是使用`jQuery.data()`设置的。如果一个元素没有数据（没有在所有数据对象或数据对象是空的），该方法返回`false` ;否则返回`true` 。

`jQuery.hasData(element)` 的主要优点是它并不创建 data 对象。如果元素上没有 data 对象，那么该方法也不会与元素上的 data 对象关联。相反，`jQuery.data(element)`总是向调用者返回一个 data 对象，即使该元素上不含有 data 对象，它也会创建一个。

请注意，jQuery的事件系统是使用jQuery数据 存储事件处理程序的。 因此，使用`.on()`, `.bind()`, `.live()`, `.delegate()`，或一个速记事件方法 绑定事件到一个元素上的时候，也会在那个元素上关联一个 data 对象。

## 例子:

#### 元素上设置数据，看到hasData的结果。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
    <!DOCTYPE html><html><head>  <script src="https://code.jquery.com/jquery-latest.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>

#### Demo: