首页 > 代码库 > jquery_核心_(1)

jquery_核心_(1)

1、data([key],[value])

概述

在元素上存放或读取数据,返回jQuery对象。

当参数只有一个key的时候,为读取该jQuery对象对应DOM中存储的key对应的值,值得注意的是,如果浏览器支持HTML5,同样可以读取该DOM中使用 data-[key] = [value] 所存储的值。参见最后一个示例。

当参数为两个时,为像该jQuery对象对应的DOM中存储key-value键值对的数据。

如果jQuery集合指向多个元素,那将在所有元素上设置对应数据。 这个函数不用建立一个新的expando,就能在一个元素上存放任何格式的数据,而不仅仅是字符串。

V1.4.3 新增用法, data(obj) 可传入key-value形式的数据。

 

key:存储的数据名  value:将要存储的任意数据

    console.log($("div").data("blah"));   //undefined
            $("div").data("blah","hello,world!");
            console.log($("div").data("blah"));    //hello,world
            $("div").data("blah", 86);             // 设置为86
            console.log($("div").data("blah"));   //86
            $("div").removeData("blah");         //移除blah
            console.log($("div").data("blah")); //undefined

 

2、index([selector|element])

概述

搜索匹配的元素,并返回相应元素的索引值,从0开始计数。

如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。

如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。

如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回-1。 具体请参考示例。

 

<ul>
  <li id="foo">foo</li>
  <li id="bar">bar</li>
  <li id="baz">baz</li>
</ul>

$(‘li‘).index(document.getElementById(‘bar‘)); //1,传递一个DOM对象,返回这个对象在原先集合中的索引位置
$(‘li‘).index($(‘#bar‘)); //1,传递一个jQuery对象
$(‘li‘).index($(‘li:gt(0)‘)); //1,传递一组jQuery对象,返回这个对象中第一个元素在原先集合中的索引位置
$(‘#bar‘).index(‘li‘); //1,传递一个选择器,返回#bar在所有li中的索引位置
$(‘#bar‘).index(); //1,不传递参数,返回这个元素在同辈中的索引位置。  
 

jquery_核心_(1)