jQuery入门[1]-构造函数

jQuery入门[1]-构造函数
jQuery入门[2]-选择器
jQuery入门[3]-事件
jQuery入门[4]-链式代码
jQuery入门[5]-AJAX
jQuery入门[6]-动画
JQuery优点
◦体积小(v1.2.3 15kb)
◦丰富的DOM选择器(CSS1-3 + XPath) ◦跨浏览器(IE6,FF,Safari,Opera)
◦链式代码
◦强大的事件、样式支持
◦强大的AJAX功能
◦易于扩展,插件丰富

jQuery的构造函数接收四种类型的参数:
  • jQuery(expression,context)
  • jQuery(html)
  • jQuery(elements)
  • jQuery(fn)

第一种根据表达式(ID,DOM元素名,CSS表达式,XPath表达式)找出文档中的元素,并组装成一个jQuery对象返回。
DEMO:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    
<title>jQuery basic</title>
    
<style type="text/css">
        .selected 
        
{
            background-color
:Yellow;
        
}
    
</style>
    
<script src="../scripts/jquery-1.2.3.intellisense.js" type="text/javascript"></script>
</head>
<body>
    
<h3>jQuery构造函数</h3>
    
<ul>
        
<li>jQuery(expression,context)</li>
        
<li>jQuery(html)</li>
        
<li>jQuery(elements)</li>
        
<li>jQuery(fn)</li>
    
</ul>
    
<script type="text/javascript">
    
</script>
</body>
</html>

将以下jQuery代码加入文末的脚本块中:
jQuery("ul>li:first").addClass("selected");
页面运行效果如下:

其中jQuery()可替换为快捷方式$(),如果$被其它对象占用,可使用jQuery.noConflict()函数取消快捷方式。
"ul>li:first"中ul>li表示所有位于ul下的li元素(为CSS表达式,XPath方式可用ul/li),:first表示其中的第一个。addClass()为jQuery对象用来添加CSS样式类的函数,相反的函数为removeClass()。
再加入以下代码:
$('ul').append($('<li>new item</li>'));
运行效果如下:

其中$('<li>new item</li>')将其中的字符串转换为DOM对象,然后通过append()函数加入ul对象的最后。
接下来:
        $(document).ready(function(){
            $(
'ul').css('color','red');
        });
则效果如:

jQuery构造函数中还可以真接传入DOM对象,如document,或jQuery对象(当然就没什么意义)。ready()函数为document添加事件处理函数,将ul的颜色设为红色。
$(document).ready()由于应用场景众多,所以可以直接用$(fn)来代替,fn表示处理函数。(ready处理函数貌似在文档内容载入完成后执行,无需等待相关其它图片等资源载入完成,所以比load事件要更早执行,对于这点,没有具体证实)
        $(function(){
            alert(
'welcome to jQuery');
        });
以上代码的效果是页面一载入,就弹出一个对话框。

reference:
http://docs.jquery.com/Core
http://docs.jquery.com/Selectors


--未完待续--
posted @ 2008-03-05 14:13 Think 阅读(37880) 评论(23) 编辑 收藏

 回复 引用 查看   
#1楼[楼主]2008-03-05 14:14 | THIN      
参看http://docs.jquery.com/Core和http://docs.jquery.com/Selectors
 回复 引用 查看   
#2楼2008-03-05 18:09 | 万一      
拜托楼主给宏观地讲讲 jQuery 吧.
现在到处见到这个名字, 估计应该是对 JavaScript 一些基本功能的封装吧?
是仅此而已, 还是有更多来头?

 回复 引用 查看   
#3楼2008-03-05 22:32 | Zhuang miao      
谢谢楼主文章,让我对jquery入门了~呵呵
 回复 引用 查看   
#4楼2008-03-06 00:57 | 梁逸晨      
回二楼:功能封装、算法封装、改善开发效率。
 回复 引用 查看   
#5楼2008-03-06 09:03 | 万一      
谢谢.
 回复 引用 查看   
#6楼2008-03-29 17:04 | designbook      
哇,又有新作了。
 回复 引用 查看   
#7楼2008-06-12 13:04 | Anders Cui      
--引用--------------------------------------------------
ready处理函数貌似在文档内容载入完成后执行,无需等待相关其它图片等资源载入完成,所以比load事件要更早执行,对于这点,没有具体证实
--------------------------------------------------------

同时使用onload和ready,可以看到onload先执行 :P

 回复 引用   
#8楼2008-07-09 15:15 | BAsil

 回复 引用 查看   
#9楼2008-08-19 15:53 | Myhsg      
感谢,学习
 回复 引用   
#10楼2008-10-17 14:56 | 飘过[未注册用户]
其中$('<li>new item</li>')将其中的字符串转换为DOM对象 应该是转换未jquery对象吧
 回复 引用 查看   
#11楼2008-11-27 21:24 | SoftWareBoy      
可是我下载了v1.2.3的有53kb那,为什么啊?
 回复 引用 查看   
#12楼2009-02-27 23:38 | 名刘天下      
路过 !不错 !
 回复 引用   
#13楼2009-03-15 22:19 | Archar
对此非常感兴趣~
路过~

 回复 引用 查看   
#14楼2009-07-13 11:30 | twt250      
非常感谢!!
 回复 引用 查看   
#15楼2009-07-29 15:46 | zet      
假如我想把第二个li的背景色设置为红色怎么弄?
 回复 引用 查看   
#16楼2009-08-24 12:35 | 鹤冲天      
谢谢,学习了!
 回复 引用   
#17楼2009-09-01 18:53 | 好啊 啊
好东西不错
 回复 引用   
#18楼2009-12-09 16:39 | 康节互联[未注册用户]
非常好,值得学习
 回复 引用   
#19楼2009-12-21 14:02 | xuexi2009[未注册用户]
到哪里去下载jquery-1.2.3.intellisense.js?
 回复 引用 查看   
#20楼2010-11-21 22:44 | 潇湘隐者      
不错,顶顶!
 回复 引用 查看   
#21楼2011-03-19 23:23 | 秦萌      
楼主,啥时该用双引号"
啥时该单引号呢'

 回复 引用 查看   
#22楼2012-01-07 09:43 | 万一      
暂只看了一点, 作者的逻辑能力和叙述能力非常好, 让我有了一气看完的欲望. 谢谢!