第1章 认识jQuery
一.常用的JavaScript库对比
Prototype、Dojo、YUI、Mootools
jQuery是一个轻量级的JavaScript库,大型开发必备——由John Resig于2006年创建。
jQuery的理念是:写得少做得多。
优势:简化了Js的复杂操作,不再关心兼容性,大量的实用方法。
怎样学习:看api文档
但是jq只是辅助工具——要正确面对。
二.使用jQ
代码导入和js一样。
$的意义:是jQuery的简写形式
$('#btn1')等价于jQuery('#btn1')
引入jq之后,编写
1
2
3
|
$(document).ready( function (){ alert( 'hello world!' ); }) |
基本等价于window.onload=function(){alert('hello world!')}。
不过还是有所区别。
三.jQuery的代码风格
1.链式操作
【例1.1】导航栏
项目需求:做一个导航栏,单击不同的商品链接,显示相应内容,同时高亮显示当前选择的商品。
分析:这是结合了css的效果
html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
< ul id = "nav" > < li class = "level1" > < h4 style = "border-top:none" >罗大佑</ h4 > < ul class = "level2" > < li >恋曲1980</ li > < li >鹿港小镇</ li > < li >东方之珠</ li > </ ul > </ li > < li class = "level1" > < h4 >周华健</ h4 > < ul class = "level2" > < li >怕黑</ li > < li >雨人</ li > < li >最近比较烦</ li > < li >花海</ li > </ ul > </ li > < li class = "level1" > < h4 >李宗盛</ h4 > < ul class = "level2" > < li >凡人歌</ li > < li >寂寞难耐</ li > < li >明明白白我的心</ li > < li >我终于失去了你</ li > </ ul > </ li > </ ul > |
css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
*{ margin : 0 ; padding : 0 ; } ul li{ list-style : none ; } a{ text-decoration : none ; } #nav{ width : 300px ; border : 1px solid rgb ( 196 , 213 , 223 ); margin : 100px auto ; } #nav>li>h 4 { background : rgb ( 235 , 243 , 248 ); border-top : 1px solid rgb ( 196 , 213 , 223 ); line-height : 40px ; text-align : center ; font-size : 20px ; color : rgb ( 88 , 147 , 183 ); cursor : pointer ; } #nav>li>ul>li{ background : #fff ; line-height : 40px ; text-align : center ; font-size : 20px ; color : rgb ( 88 , 147 , 183 ); cursor : pointer ; } #nav>li>ul>li:hover{ color : rgb ( 255 , 102 , 0 ); } .level 2 { display : none ; } #nav .current{ background : rgb ( 177 , 215 , 239 ); border-top : 1px solid rgb ( 196 , 213 , 223 ); border-bottom : 1px solid rgb ( 196 , 213 , 223 ); } |
js
1
2
3
4
5
6
7
8
9
|
$(document).ready( function (){ $( ".level1 > h4" ).click( function (){ $( this ).addClass( "current" ) //当标题被点击时,给被点击的对象加上currentclass .next().show() //标题的下一个元素,也就是level2——展现出来。 .parent().siblings().children( "h4" ).removeClass( "current" ).next().hide(); //标题的父元素——的兄弟元素——的子元素——中的h4——移出current的class,同时——下一个level2隐藏。 return false ; }); }); |
2.良好的代码风格即是一切
一般而言,jQuery可以用一行完成很多行才能完成的东西。但是太长了也不是都看得懂的。
首先
a.同一对象不超过3次操作的,可写成1行,
b.同一对象多个操作,每个操作一行
c.多个对象少量操作,可以每个对象1行。如果涉及子元素,可适当缩进。
其次,加上注释!
三. 区别jQuery对象和DOM对象
1. 特点
jQuery对象是DOM对象通过jQuery.js包装后产生的。可以使用jQuery方法,但不能使用任何DOM对象的方法。以下列出相关方法对比
DOM对象方法 | JQ对象方法 |
document.getElemntById('OBJ').innerHTML | $('#OBJ').html() |
document.getElemntById('OBJ').checked | $('#OBJ').attr('checked') |
2. 转换
jQuery对象:在前面加一个$以示和Dom变量的区别
(1)jQuery对象转dom对象
jQuery对象类似一个数组,假设存在一个jQuery对象$('#cr'),以下两种方法都是可以的:
1
2
3
|
var $oCr=$( '#cr' ); var oCr=$oCr[0]; var oCr=$oCr.get(0) |
(2)DOM转jQuery对象
只需要把dom对象用$()包起来。
1
2
|
var oCr=document.getElementById( 'cr' ); var $oCr=$(oCr); |
$()函数就是jQuery对象的制造工厂。
【例1.2】做一个注册页面。点击阅读并同意,反馈可以继续操作
1
2
|
< input type = "checkbox" id = "cr" /> < label for = "cr" >我已经阅读了上面制度.</ label > |
(1)DOM方式
1
2
3
4
5
6
7
8
9
|
window.onload= function (){ var oCr=document.getElementById( 'cr' ); oCr.onclick= function (){ if (oCr.checked){ alert( '可以继续操作!' ); } } } |
(2)jQuery方式
1
2
3
4
5
6
7
8
9
|
$(document).ready( function (){ var $oCr=$( '#cr' ); $oCr.click( function (){ if ($oCr.is( ':checked' )){ alert( '可以继续操作!' ); } }) }) |
第1章 认识jQuery的更多相关文章
- 第一章 认识jQuery
jQuery是一个优秀的JavaScript库,它凭借简洁地语法和跨平台的兼容性,极大地简化了开发人员遍历HTML文档,操作DOM,处理事件,执行动画和开发Ajax操作. jQuery优势:1.轻量级 ...
- 第四章 使用jQuery操作DOM
第四章 使用jQuery操作DOM 一.DOM操作 在jQuery中的DOM操作主要可分为样式操作.文本和value属性值操作.节点操作: 节点操作又包含属性操作.节点遍历和CSS-DOM操作. 其中 ...
- 《锋利的jQuery(第2版)》笔记-第1章-认识jQuery
jQuery是随着Web2.0兴起的JavaScript库之一,因为其独特的优点,受到越来越多人的追捧! 1.1 JavaScript和JavaScript库 1.1.1 JavaScript简介 J ...
- 第十七章:jQuery类库
javascript的核心API设计的很简单,但由于浏览器之间的不兼容性,导致客户端的API过于复杂.IE9的到来缓解了这种情况.然而使用javascript的框架或者工具类库,能简化通用操作,处理浏 ...
- JavaScript交互式网页设计 • 【第6章 初识jQuery】
全部章节 >>>> 本章目录 6.1 jQuery概述 6.1.1 初识 jQuery 6.1.2 jQuery 基本功能 6.1.3 搭建 jQuery 开发环境 6.1 ...
- 三、jQuery--jQuery基础--jQuery基础课程--第1章 初识jQuery
环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...
- 第三章:初识Jquery
一.Jquery的优势 体积小,压缩后只有100KB左右 强大的选择器 出色的DOM封装 可靠的事件处理机制 出色的浏览器兼容性 使用隐式迭代简化编程 丰富的插件支持 二.Jquery语法 三.DOM ...
- 第三章(jQuery中的DOM操作)
3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute( ...
- 第二章(jQuery选择器)
2.1jQuery选择器是什么 1.CSS选择器 选择器 示例 选择器 示例 标签选择器 a{ } p{ } ul{ } ID选择器 #ID{ } 类选择器 .class{ } 群组选择器 td,p, ...
随机推荐
- 最完整的Elasticsearch 基础教程
翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Ela ...
- java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 错误
你的ArrayList 是一个没有值的对象(不是null),也就是里面什么对象也没有存(即:arrayList.size()==0).但是,你有取它下标为0值的操作.所以,数组越界了!!比如array ...
- poj3694 缩点边双连通分量
Network Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 8669 Accepted: 3175 Descripti ...
- REST服务返回自定义的HttpResponseMessage
WebApi框架中对资源的操作,都是通过其Controller提供的各种方法(GET,POST,PUT,DELET等)来实现,而这些方法的返回信息有以下几种形式: 方法返回类型 HttpRespons ...
- 常用免费的WebService列表
天气预报Web服务,数据来源于中国气象局 Endpoint : http://www.webxml.com.cn/WebServices/WeatherWebService.asmx Disc ...
- C#微信开发之旅(二):基础类之HttpClientHelper(更新:SSL安全策略)
public class HttpClientHelper 2 { 3 /// <summary> 4 /// get请求 5 ...
- js json 对象相互转换
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSO ...
- 查找Linux系统中的占用磁盘空间
目录的来查看空间占用情况 du -sh /* 先看看根目录下面 让文件夹下的文件让文件按大小排序 方法一:# ls -lhSl 长格式显示,h human readable模式,大小单位为M,G等易读 ...
- C++强制类型转换操作符 dynamic_cast
dynamic_cast是四个强制类型转换操作符中最特殊的一个,它支持运行时识别指针或引用. >>>>>>>>>>>编译器的RTTI设 ...
- 【poj2459】 Feed Accounting
http://poj.org/problem?id=2459 (题目链接) 题意 一堆不知何时运到的草料原有F1 kg,在第D天被牛吃成F2 kg,每头牛在[l,r]吃草料,每天吃1kg.求草料是什么 ...