jQuery是最近比较火的一个JavaScript库,从del.icio.us/上相关的收藏可见一斑。
到目前为之jQuery已经发布到1.2.1版本,而在这之前的一个星期他们刚发布1.2版本,看看他的各个版本的 发布时间 ,不难发现他的飞速发展,每个月都在更新版本;而且不断有人开发出新的 jQuery插件 ,最近又推出了 jQuery UI 库。
jQuery于2006年一月十四号在BarCamp NYC (New York City)面世。主将 John Resig ,写有《Pro JavaScript Techniques》一书,因为效力于mozolla,据说firefox 3将包含Jquery,现在的 Jquery团队 有主要开发人员,推广人员,UI,插件开发,网站设计维护,其中3个主要开发人员分别是:两个美国人John Resig/Brandon Aaron,一个德国人Jorn Zaefferer)
下面简单介绍一下jQuery的一些特性和用法:
1.精准简单的选择对象(dom):
2.对象函数的应用简单和不限制:
3.对已选择对象的操作(包括样式):
$( " #element " ).addClass( " selected " ); // 给对象添加样式
$( ' #element ' ).css({ " background-color " : " yellow " , " font-weight " : " bolder " }); // 改变对象样式
$( " p " ).text( " Some new text. " ); // 改变对象文本
$( " img " ).attr({ src: " test.jpg " , alt: " Test Image " }); // 改变对象文本
$( " p " ).add( " span " ); // 给对象增加标签
$( " p " ).find( " span " ); // 查找对象内部的对应元素
$( " p " ).parent(); // 对象的父级元素
$( " p " ).append( " <b>Hello</b> " ); // 给对象添加内容
4.支持aJax,支持文件格式:xml/html/script/json/jsonp
$( " #feeds " ).load( " feeds.html " ); // 相应区域导入静态页内容
$( " #feeds " ).load( " feeds.php " , {limit: 25 }, function (){alert( " The last 25entries in the feed have been loaded " );});// 导入动态内容
5.对事件的支持:
$( " p " ).hover( function () {
$( this ).addClass( " hilite " ); // 鼠标放上去时
}, function () {
$( this ).removeClass( " hilite " ); // 移开鼠标
}); // 鼠标放上去和移开的不同效果(自动循环所有p对象)
6.动画:
$( " p " ).show( " slow " ); // 隐藏对象(慢速渐变)
$( " #go " ).click( function (){
$( " #block " ).animate({
width: " 90% " ,
height: " 100% " ,
fontSize: " 10em "
}, 1000 );
}); // 鼠标点击后宽、高、字体的动态变化
7.扩展:
$.fn.background = function (bg){
return this .css( ' background ' , bg);
};
$(#element).background( " red " );
如果要为每一个jQuery 对象添加一个函数,必须把该函数指派给 $.fn,同时这个函数必须要返回一个 this(jQuery 对象)
element. function (par);
$(”p.surprise”).addClass(”ohmy”).show(”slow”)...
$( ' #element ' ); // 相当于document.getElementById("element")
$( ' .element ' ); // Class
$( ' p ' ); // html标签
$( " form > input " ); // 子对象
$( " div,span,p.myClass " ); // 同时选择多种对象
$( " tr:odd " ).css( " background-color " , " #bbbbff " ); // 表格的隔行背景
$( " :input " ); // 表单对象
$( " input[name='newsletter'] " ); // 特定的表单对象