12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 2538|回复: 10
打印 上一主题 下一主题

[经验分享] 学习jQuery必须知道的几种常用方法

[复制链接]
   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-1-13 10:16:11 |只看该作者 |倒序浏览

jQuery中为我们提供了很多有用的方法和属性,文章总结了一些常用的函数和方法。个人认为在开发中会比较常用的,在实际的开发中我们可能会用到其他的方法和属性,文中只是个人认为新手初学jQuery时,必须掌握的一些方法。
AD:







51CTO推荐专题:入门到精通 jQuery开发手册
jQuery事件处理
ready(fn)
代码:

   
        
            
            
$(document).ready(function(){
  // Your code here...
});
            
        
   


作用:它可以极大地提高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)
代码:

   
        
            
            
$(".stripe tr").mouseover(function(){  
               $(this).addClass("over");}).mouseout(function(){
               $(this).removeClass("over");})
});
            
        
   


也可以写成:

   
        
            
            
$(".stripe tr").mouseover(function() { $(this).addClass("over") });
$(".stripe tr").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:
< INPUT value=John name=name>
  < INPUT value=password name=password>
< INPUT value="< A href=" name=url ? %22 ejohn.org http:>http://ejohn.org/%22/< /A>
< FORM>
            
        
   


jQuery 代码:

   
        
            
            
< /FORM>
            
        
   



   
        
            
            
$("p").append( $("input").map(function(){
  return $(this).val();
}).get().join(", ") );
            
        
   


结果:


   
        
            
            
[ John, password, < A href="http://ejohn.org/%3C/p">http://ejohn.org/%3C/p< /A>> ]
            
        
   


作用:将一组元素转换成其他数组(不论是否是元素数组)你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立。


find(expr)
HTML 代码:



   
        
            
            
< SPAN>Hello< /SPAN>, how are you? 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 代码:Test Paragraph.jQuery 代码("p").wrap("
< DIV class=wrap>< /DIV>");结果:
< DIV class=wrap>Test Paragraph.
            
        
   


作用:把所有匹配的元素用其他元素的结构化标记包裹起来。这种包装对于在文档中插入额外的结构化标记最有用,而且它不会破坏原始文档的语义品质。 可以灵活的修改我们的DOM。

empty()
HTML 代码:

   
        
            
            Hello, Person < A href="http://new.51cto.com/wuyou/news_edit.php?artID=127754#">and person< /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("The last 25 entries in the feed have been loaded");
});
            
        
   




作用:载入远程 HTML 文件代码并插入至 DOM 中。这也是Jquery操作Ajax最常用最有效的方法。


serialize()
HTML 代码:


Results:


   
        
            
            
< FORM>
  < SELECT name=single>    < OPTION selected>Single< /OPTION>   
            
< OPTION>Single2< /OPTION> < /SELECT>
  < SELECT multiple name=multiple>    < OPTION selected>Multiple< /OPTION>   
            
< OPTION>Multiple2< /OPTION>    < OPTION selected>Multiple3< /OPTION> < /SELECT>

  < INPUT value=check1 type=checkbox name=check> check1
  < INPUT value=check2 type=checkbox name=check
checked="checked"/> check2
  < INPUT value=radio1 type=radio name=radio
checked="checked"/> radio1
  < INPUT value=radio2 type=radio name=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 代码:


   
        
            
            
var arr = jQuery.makeArray(document.getElementsByTagName("div"));
            
        
   


结果:
Fourth
Third
Second
First

作用:将类数组对象转换为数组对象。使我们可以在数组和对象之间灵活的转换。
jQuery.trim(str)
作用:这个大家应该很熟悉,就是去掉字符串起始和结尾的空格。
小结:在实际的开发中我们可能会用到其他的方法和属性,以上只是个人认为新手初学jQuery时,必须掌握的一些方法。仅供大家学习的参考。有什么不对的高手指教。

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-1-29 23:27:01 |只看该作者
祝你新年很灿烂,牛气哄哄冲霄汉,祝你明年业务多,好运连连一火车,祝你工作小轻松,玩玩闹闹很成功,祝你身体特别好,吃嘛嘛香没烦恼。
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-4-2 23:20:46 |只看该作者
提醒猪猪,千万不能让你看见
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-4-27 23:18:12 |只看该作者
灌水。。。
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-8-11 00:03:51 |只看该作者
心中有爱,爱咋咋地
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2012-8-15 00:11:54 |只看该作者
不错不错,收藏了
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2012-9-6 23:28:18 |只看该作者
佩服,好多阿 ,哈哈
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2012-9-23 23:29:01 |只看该作者
好`我顶``顶顶
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

9#
发表于 2012-10-14 23:22:57 |只看该作者
顶!学习了!阅!
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2013-1-25 12:49:19 |只看该作者
再看一看,再顶楼主
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-28 22:48 , Processed in 0.101437 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部