第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>h4{ 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);}.level2{ 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, ...
随机推荐
- 转 ext文件系统及块组
一.文件系统概述 1. 引导块 前文中介绍过磁盘需要进行分区和格式化,才能创建文件系统并使用,那么一块已经被各式化了分区其结构是什么样的呢?分区是按照柱面来划分的,而柱面包含的是磁道,磁道上包含的是扇 ...
- 高手详解SQL性能优化十条经验
1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会 ...
- iOS开发--换肤简单实现以及工具类的抽取
一.根据美工提供的图片,可以有两种换肤的方案. <1>美工提供图片的类型一: <2>美工提供图片的类型二:这种分了文件夹文件名都一样的情况,拖入项目后最后用真实文件夹(蓝色文件 ...
- flex布局无法自动适应的bug以及实现textarea根据内容自适应
-webkit-box布局无法自动适应高度的bug css3的新属性display:-webkit-box带来了前端开发自动适应布局的春天 ,但是我发现这个布局有个问题, 而且这个问题我无法解决: 描 ...
- nodeJS+express+Jade写一个局域网聊天应用(node基础)
为了复习一下nodeJS, 而且socketIO这东西听起来就好高端有木有, 而且有人写过了open, 也可以作为自己的参考有木有, 点击下载源代码: express是4.x的版本, 跟以前的配置有些 ...
- 使用kuernetes提供高可用的kibana服务
在kubernetes集群中部署kibana步骤如下: 1:kibana安装文件(目前最新版本4.5.1): 2:编写Dockerfile及执行点脚本文件run.sh,制作Kibana镜像: 3:推送 ...
- fastq to tasta using linux shell script
#!/bin/bash usage() { echo " "; echo "############################################### ...
- bootstrap的基本模板
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- cocoaPod的使用
因为准备在项目中使用bootstrap,在安装bootstrap过程中提示需要Ruby的版本在1.9.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7.所以需要对Ruby进行升级.这里使用 ...
- 【BZOJ-1096】仓库建设 斜率优化DP
1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3719 Solved: 1633[Submit][Stat ...