jquery系列之五——几个常用的公共方法

1.循环执行一个函数:.each(callback)

 示例1:把所有段落的所有事件取消绑定。

html:

<img/>
<img/>
jquery:
$("img").each(function(i){
   this.src = "test" + i + ".jpg";
});
注意:此处 this 指代的是 DOM 对象而非 jQuery 对象。
结果:
[ <img src="test0.jpg" />, <img src="test1.jpg" /> ]

示例2:你可以使用 'return' 来提前跳出 each() 循环。

html:
<button>Change colors</button>
<span></span> 
<div></div> 
<div></div>

<div></div> 
<div></div>
<div id="stop">Stop here</div> 
<div></div>

<div></div>
<div></div>
jquery:
$("button").click(function () { 
    $("div").each(function (index, domEle) { 
        // domEle 就是 this 
        $(domEle).css("backgroundColor", "yellow");  
        if ($(this).is("#stop")) { 
            $("span").text("Stopped at div index #" + index); 
            return false; 
        } 
    });
});
 

2.获取对象中元素的个数:.size()

 示例:计算文档中所有图片数量。

html:
<img src="test1.jpg"/>
<img src="test2.jpg"/>
jquery:
$("img").size();
结果:2

3.获取对象中元素的个数:.length

 示例:计算文档中所有图片数量。

html:
<img src="test1.jpg"/>
<img src="test2.jpg"/>
jquery:
$("img").length;
结果:2

4.获取其中一个匹配的元素:.get([index])

注意:get()表示取得所有匹配的 DOM 元素集合。

 示例:取得第1个 DOM 元素集合。

html:
<img src="test1.jpg"/>
<img src="test2.jpg"/>
jquery:
$("img").get(0);
结果:
[ <img src="test1.jpg"/> ]

5.获取元素的索引值:.index([selector|element])

注意:从0开始计数。

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

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

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

示例:查找元素的索引值。

html:
<ul>
  <li id="foo">foo</li>
  <li id="bar">bar</li>
  <li id="baz">baz</li>
</ul>
jquery:
$('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,不传递参数,返回这个元素在同辈中的索引位置。
 

 6.empty()与remove()区别:

       要用到移除指定元素的时候,发现empty()与remove([expr])都可以用来实现。可仔细观察效果的话就可以发现。empty()是只移除了 指定元素中的所有子节点,拿$("p").empty()来说,他只是把<p>dsfsd</p>中的文本给移除了,而留下 了<p></p>,仍保留其在dom中所占的位置。而remove([expr])则是把其从dom中删除,而不会保留其所占的位置。

例如:

html:

<p>Hello</p>
World
<p>welcome</p>

执行$("p").empty()其结果是:

<p></p>
World
<p></p>

执行$("p").remove()其结果是:

World

相关推荐