jQuery学习手册-进阶篇

1demo1: --选择器的深入理解
程序代码
$("input[@type=checkbox]").each(function(i){

   if(this.checked) alert(this.value);

})// 此时,this dom里的对象,而不是jQuery里的$(this)

$("input[ap='fb']")//自定义的可以不要@

//@属性选择器指:根据属性选择所有复选框

$("input:checked")

//限制选择器,“:”后面为条件,题中为所有被选择的表单元素

$("input[@type=checkbox]").not("[@checked]")

//not排除选择器,not必然存放的是属性条件

$("span:contains('')").each(function(i){

    alert($(this).text());

});//:contains('') 即字符串匹配,也属于选择选择器

 

2demo2: --滑动效果的实现方式
程序代码
$('#faq').find('dd').hide().end().find('dt').click(function() {

     $(this).next().slideToggle();//var answer = $(this).next();if (answer.is(':visible')) {answer.slideUp();} else {answer.slideDown();} answer.is(':visible')是指可见的answer元素.

 });// end() 表示一段方法的结束,slideToggle()即交替展开收拢

 

3demo3: --改变字体大小
程序代码
$("#formstylecontrols select").change(function(){ $("p").css($(this).attr("id"),$(this).val()); }); //这里用了一个技巧:把selectID和要设置的CSS属性值一致, 就可以一个语句实现三个select的功能<select id="font-size"><option value="12px">小号</option></select>

 

4demo4: --input 需要2keyup()
程序代码
$("input").keyup(function () {

    var value = $(this).val();$("p").text(value);

}).keyup(); //这里用了一个技巧:第二个keyup是模拟一次keyup事件,也就是执行一下keyup里定义的函数,以此来保证页面初始状态下p元素的text就等于dvalue

 

5demo5: --end()方法的使用

$("#css").find("#rain").end().html()//可以修改jQuery选定并且以end()结束的方法有: add()children()eq()filter()find()gt()lt()next()not()parent()parents()siblings()

 

6demo6: --eqgtlt的使用

$("p").eq(2) ==$("p:gt(2)") ==$("p:lt(2)") //其实简单的说因为所有jQueryselect(选择器)返回的是一个数组。你可认为是得到这个数组的第几个元素。注意是从开始的。

 

 

7demo7: --filter()not()的使用

//filter()能够将元素精简到只剩下满足过滤条件的那些,not()恰恰相反,他移除了所有满足条件的。

//注意:只返回满足条件的第一个对象。

$("dl>dd:not(:first)") //描述:dl下除第一个外的所有dd标签

 

8demo8: --$.each(obj, fn)

//通用的迭代函数。可用于近似地迭代对象和数组(代替循环)。

$.each( [0,1,2], function(i, n){ alert( "Item #" + i + ": " + n ); });

//等价于:

var tempArr=[0,1,2];

for(var i=0;i<tempArr.length;i++){

       alert("Item #"+i+": "+tempArr[i]);

}

 

9demo9: --empty伪选择器

$('td:empty').html('-');

//要在表格中的每一个空列中都添加一个横杠

 

10demo10: -- animate动画效果

$(this).animate({

         style:"color:#eee"

})

 

11demo11: -- appendTo

$("<div><img src=''></div>").appendTo("body");

//将该div追加到文档结尾

$("<div><img src=''></div>").appendTo("body").click(function(){

   // do something... ;

});//给追加的div加上点击事件

$("<div><img src=''></div>").appendTo("body").find("img").click(function(){

   // do something... ;

});//为追加的div中的图片加上点击事件

 

12demo12: -- extend-使用扩展的方法

$(function() {

$.extend({

       min: function(a, b){return a < b?a:b; },//这里提供了一个元运算符,取较小值.

       max: function(a, b){return a > b?a:b; } //同理

});  //jquery扩展了min,max两个方法 -- 使用扩展的方法(通过$.方法名调用):

$("#selectall").click(function(){

alert("max="+$.max(10,20)+",min="+$.min(10,20));

})

});

 

13demo13: -- jQuery自定义插件

$.fn.max = function(a,b){

    alert( a>b?a:b);

};//返回较大值,注意 $.fn ,使用语法如下:

$(function(){

     $('table').max(1,3);

 });

posted @ 2011-04-15 06:37  思考之驴  阅读(424)  评论(0编辑  收藏  举报