jQuery 之 几种常用方法
jQuery中为我们提供了很多有用的方法和属性,文章总结了一些常用的函数和方法。jQuery事件处理
ready(fn)
代码:
$(document).ready(function(){
//Yourcodehere...
});
作用:它可以极大地提高web应用程序的响应速度。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。
bind(type,[data],fn)
代码:
$("p").bind("click",function(){
alert($(this).text());
});
作用:为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数。起到事件监听的作用。
toggle(fn,fn)
代码:
$("td").toggle(
function(){
$(this).addClass("selected");
},
function(){
$(this).removeClass("selected");
}
);
作用:每次点击时切换要调用的函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数。挺有趣的一个函数,在动态实现某些功能的时候可能会用到。(像click(),focus(),keydown()这样的事件这里就不提了,那些都是开发中比较常用到的。)
jQuery外观效果
addClass(class)和removeClass(class)
代码:
$(".stripetr").mouseover(function(){
$(this).addClass("over");}).mouseout(function(){
$(this).removeClass("over");})
});
也可以写成:
$(".stripetr").mouseover(function(){$(this).addClass("over")});
$(".stripetr").mouseout(function(){$(this).removeClass("over")});
作用:为指定的元素添加或移除样式,从而实现动态的样式效果,上面的实例中实现鼠标移动双色表格的代码
css(name,value)
代码:
$("p").css("color","red");
作用:很简单,就是在匹配的元素中,设置一个样式属性的值。这个个人感觉和上面的addClass(class)有点类似。
slide(),hide(),fadeIn(),fadeout(),slideUp(),slideDown()
代码:
$("#btnShow").bind("click",function(event){$("#divMsg").show()});
$("#btnHide").bind("click",function(evnet){$("#divMsg").hide()});
作用:jQuery中提供的比较常用的几个动态效果的函数。还可以添加参数:show(speed,[callback])以优雅的动画显示所有匹配的元素,并在显示完成后可选地触发一个回调函数。
animate(params[,duration[,easing[,callback]]])
作用:制作动画效果用到的函数,功能非常的强大,可以连续使用此函数。
查找筛选
map(callback)
HTML代码:
Values:
<INPUTvalue=Johnname=name>
<INPUTvalue=passwordname=password>
<INPUTvalue="<Ahref="name=url?%22ejohn.orghttp:>http://ejohn.org/%22/</A>
<FORM>
jQuery代码:
</FORM>
$("p").append($("input").map(function(){
return$(this).val();
}).get().join(","));
结果:
[John,password,<Ahref="http://ejohn.org/%3C/p">http://ejohn.org/%3C/p</A>>]
作用:将一组元素转换成其他数组(不论是否是元素数组)你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立。
find(expr)
HTML代码:
<SPAN>Hello</SPAN>,howareyou?
jQuery代码:
$("p").find("span")
结果:
[<SPAN>Hello</SPAN>]
作用:搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。
文档处理
attr(key,value)
HTML代码:
<IMG><IMG>
jQuery代码:
$("img").attr("src","test.jpg");
作用:取得或设置匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回undefined。在控制HTML标记上是必备的工具。
html()/html(val)
HTML代码:
<DIV>
Hello
</DIV>
jQuery代码:
$("div").html();
结果:
Hello
作用:取得或设置匹配元素的html内容,同类型的方法还有text()和val()。前者是取得所有匹配元素的内容。,后者是获得匹配元素的当前值。三者有相似的地方常用在内容的操作上。
wrap(html)
HTML代码:
TestParagraph.
jQuery代码:
$("p").wrap("
<DIVclass=wrap></DIV>");
结果:
<DIVclass=wrap>
TestParagraph.
作用:把所有匹配的元素用其他元素的结构化标记包裹起来。这种包装对于在文档中插入额外的结构化标记最有用,而且它不会破坏原始文档的语义品质。可以灵活的修改我们的DOM。
empty()
HTML代码:
Hello,Person<Ahref="http://new.51cto.com/wuyou/news_edit.php?artID=127754#">andperson</A>
jQuery代码:
$("p").empty();
结果:
作用:删除匹配的元素集合中所有的子节点。
Ajax处理
load(url,[data],[callback])
url(String):待装入HTML网页网址。
data(Map):(可选)发送至服务器的key/value数据。
callback(Callback):(可选)载入成功时回调函数。
代码:
$("#feeds").load("feeds.aspx",{limit:25},function(){
alert("Thelast25entriesinthefeedhavebeenloaded");
});
作用:载入远程HTML文件代码并插入至DOM中。这也是Jquery操作Ajax最常用最有效的方法。
serialize()
HTML代码:
Results:
<FORM>
<SELECTname=single><OPTIONselected>Single</OPTION>
<OPTION>Single2</OPTION></SELECT>
<SELECTmultiplename=multiple><OPTIONselected>Multiple</OPTION>
<OPTION>Multiple2</OPTION><OPTIONselected>Multiple3</OPTION></SELECT>
<INPUTvalue=check1type=checkboxname=check>check1
<INPUTvalue=check2type=checkboxname=check
checked="checked"/>check2
<INPUTvalue=radio1type=radioname=radio
checked="checked"/>radio1
<INPUTvalue=radio2type=radioname=radio>radio2
</FORM>
jQuery代码:
$("#results").append("<TT>"+$("form").serialize()+"</TT>");
作用:序列化表格内容为字符串。用于Ajax请求。
工具
jQuery.each(obj,callback)
代码:
$.each([0,1,2],function(i,n){
alert("Item#"+i+":"+n);
});//遍历数组
$.each({name:"John",lang:"JS"},function(i,n){
alert("Name:"+i+",Value:"+n);//遍历对象
});
作用:通用例遍方法,可用于例遍对象和数组。
jQuery.makeArray(obj)
HTML代码:
First
<DIV>Second</DIV>
Third</DIV>
<DIV>Fourth
</DIV>
jQuery代码:
vararr=jQuery.makeArray(document.getElementsByTagName("div"));
结果:
Fourth
Third
Second
First
作用:将类数组对象转换为数组对象。使我们可以在数组和对象之间灵活的转换。
jQuery.trim(str)
作用:这个大家应该很熟悉,就是去掉字符串起始和结尾的空格。
小结:在实际的开发中我们可能会用到其他的方法和属性,以上只是个人认为新手初学jQuery时,必须掌握的一些方法。仅供大家学习的参考。有什么不对的高手指教。