jQuery 对象是一个集合,要访问这个集合,除了使用索引值以外,还可以使用jQuery 定义的几个方法和属性。如果设置事件会对整个集合有影响,如果返回值,则会取出第一个返回。
each(callback) 方法。对集合进行遍历,参数fn为对每个对象的操作。在函数内部会通过索引或许集合的对象,而this关键字指向的是当前的元素对象,而且为DOM对象。对象的索引值可以做为参数传进来,也可以不传,从0开始。如果想在函数体内调用jQuery 对象的方法,则需要把this 转换为jQuery 对象,$(this)。如果函数中途返回 false,则将停止循环。否则循环到底。
size()方法和length属性。 都能够返回jQuery 对象中元素的个数,功能相同。
get()和get(index) 方法。
get()方法能够把Jquery对象转换为DOM 中的元素集合。在下面示例中,使用$()函数获取所有span 元素,然 后使用get()方法把jQuery对象转换为DOM集合,再 调用JavaScript数组方法reverse()把数组元素的位置颠倒过来。最后为数组中第一个元素定义样式为红色字体。
var spans = $("span").get().reverse(); //把当前jQuery 对象转换为DOM对象,并颠倒它们的位置
spans[0].style.color = "red";//把当前DOM对象设置为红色
get(index)方法与get()功能相同,但是它能够获取指定索引值的元素对象,请注意它返回的是DOM 对象。
index(subject)方法。返回某个DOM对象在JQuery集合中的索引,从0开始,没有返回-1
var a = $("body").children();
var e = document.getElementsByTagName("span")[0];
alert(a.index(e));
控制元素的属性的方法:
第一个元素的对应属性值。
2.attr(key,value):为jQuery 对象定义属性并赋值。也可以给class属性赋值来控制样式。
3.attr(key,fn):我们还可以为传递的属性值设置为一个函数,通过函数计算所得的值来为属性赋值。
4.attr(properties):为 jQuery 对象同时定义多个属性。
5.removeAttr(name):该方法能够移出 jQuery 对象内指定属性及其属性值。
$(document).ready(function(){
//alert($("span").size());
//alert($("span").length);
var spans = $("span");
spans.each(function(n){
//alert(n);
//this.style.fontSize = (n+1)*12+"px";
$(this).css("font-size",(n+1)*12+"px");
});
spans.each(function(){
this.style.color="green";
//$(this).css("color","red");
});
$(spans.get(0))[0].style.color="red";
var DOMspans = spans.get().reverse();
DOMspans[0].style.color="red";
spans.get(spans.size()-1).style.fontSize="10px";
});
$(function(){
$("span").each(function(n){
//alert("aa");
if(n==1){
$(this).css("color","black");
}
if(n==2){
$(this).css("color","pink");
}
});
var href = $($("a").get(1)).attr("href");
alert(href);
$($("a").get(1)).attr("href","www.wicresoft.com");
alert($($("a").get(1)).attr("href"));
alert($($("a").get(1)).text());
$($("a").get(0)).removeAttr("href");
$("h1").attr("class","pinktest");
var a = $("body").children();
var e = document.getElementsByTagName("span")[0];
alert(a.index(e));
});