jQuery学习手册-进阶篇
1,demo1: --选择器的深入理解
$("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('理') 即字符串匹配,也属于选择选择器
2,demo2: --滑动效果的实现方式
$('#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()即交替展开收拢
3,demo3: --改变字体大小
$("#formstylecontrols select").change(function(){ $("p").css($(this).attr("id"),$(this).val()); }); //这里用了一个技巧:把select的ID和要设置的CSS属性值一致, 就可以一个语句实现三个select的功能<select id="font-size"><option value="12px">小号</option></select>
4,demo4: --input 需要2个keyup()
$("input").keyup(function () {
var value = $(this).val();$("p").text(value);
}).keyup(); //这里用了一个技巧:第二个keyup是模拟一次keyup事件,也就是执行一下keyup里定义的函数,以此来保证页面初始状态下p元素的text就等于d的value
5,demo5: --end()方法的使用
$("#css").find("#rain").end().html()//可以修改jQuery选定并且以end()结束的方法有: add()、children()、eq()、filter()、find()、gt()、lt()、next()、not()、parent()、parents()、siblings()
6,demo6: --eq、gt、lt的使用
$("p").eq(2) ==$("p:gt(2)") ==$("p:lt(2)") //其实简单的说因为所有jQuery的select(选择器)返回的是一个数组。你可认为是得到这个数组的第几个元素。注意是从开始的。
7,demo7: --filter()和not()的使用
//filter()能够将元素精简到只剩下满足过滤条件的那些,not()恰恰相反,他移除了所有满足条件的。
//注意:只返回满足条件的第一个对象。
$("dl>dd:not(:first)") //描述:dl下除第一个外的所有dd标签
8,demo8: --$.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]);
}
9,demo9: --empty伪选择器
$('td:empty').html('-');
//要在表格中的每一个空列中都添加一个横杠
10,demo10: -- animate动画效果
$(this).animate({
style:"color:#eee"
})
11,demo11: -- 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中的图片加上点击事件
12,demo12: -- 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));
})
});
13,demo13: -- jQuery自定义插件
$.fn.max = function(a,b){
alert( a>b?a:b);
};//返回较大值,注意 $.fn ,使用语法如下:
$(function(){
$('table').max(1,3);
});