一.常用的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的更多相关文章

  1. 第一章 认识jQuery

    jQuery是一个优秀的JavaScript库,它凭借简洁地语法和跨平台的兼容性,极大地简化了开发人员遍历HTML文档,操作DOM,处理事件,执行动画和开发Ajax操作. jQuery优势:1.轻量级 ...

  2. 第四章 使用jQuery操作DOM

    第四章 使用jQuery操作DOM 一.DOM操作 在jQuery中的DOM操作主要可分为样式操作.文本和value属性值操作.节点操作: 节点操作又包含属性操作.节点遍历和CSS-DOM操作. 其中 ...

  3. 《锋利的jQuery(第2版)》笔记-第1章-认识jQuery

    jQuery是随着Web2.0兴起的JavaScript库之一,因为其独特的优点,受到越来越多人的追捧! 1.1 JavaScript和JavaScript库 1.1.1 JavaScript简介 J ...

  4. 第十七章:jQuery类库

    javascript的核心API设计的很简单,但由于浏览器之间的不兼容性,导致客户端的API过于复杂.IE9的到来缓解了这种情况.然而使用javascript的框架或者工具类库,能简化通用操作,处理浏 ...

  5. JavaScript交互式网页设计 • 【第6章 初识jQuery】

    全部章节   >>>> 本章目录 6.1 jQuery概述 6.1.1 初识 jQuery 6.1.2 jQuery 基本功能 6.1.3 搭建 jQuery 开发环境 6.1 ...

  6. 三、jQuery--jQuery基础--jQuery基础课程--第1章 初识jQuery

    环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...

  7. 第三章:初识Jquery

    一.Jquery的优势 体积小,压缩后只有100KB左右 强大的选择器 出色的DOM封装 可靠的事件处理机制 出色的浏览器兼容性 使用隐式迭代简化编程 丰富的插件支持 二.Jquery语法 三.DOM ...

  8. 第三章(jQuery中的DOM操作)

    3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute( ...

  9. 第二章(jQuery选择器)

    2.1jQuery选择器是什么 1.CSS选择器 选择器 示例 选择器 示例 标签选择器 a{ } p{ } ul{ } ID选择器 #ID{ } 类选择器 .class{ } 群组选择器 td,p, ...

随机推荐

  1. [转]js中confirm实现执行操作前弹出确认框的方法

    原文地址:http://www.jb51.net/article/56986.htm 本文实例讲述了js中confirm实现执行操作前弹出确认框的方法.分享给大家供大家参考.具体实现方法如下: 现在在 ...

  2. Android 判断当前屏幕是横屏还是竖屏

       记录学习 /**  * 返回当前屏幕是否为竖屏.  * @param context  * @return 当且仅当当前屏幕为竖屏时返回true,否则返回false.  */  public s ...

  3. js-延迟处理函数

    <script type="text/javascript"> var i = setTimeout('check()',5000); function check() ...

  4. 【POJ 3041】Asteroids (最小点覆盖)

    每次选择清除一行或者一列上的小行星.最少选择几次. 将行和列抽象成点,第i行为节点i+n,第j列为节点j,每个行星则是一条边,连接了所在的行列. 于是问题转化成最小点覆盖.二分图的最小点覆盖==最大匹 ...

  5. namespace for c++

    namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都可能使用相同的 ...

  6. VirtualBox提示:错误,创建一个新任务失败,被召者解决办法

    被召者 RC: REGDB_E_CLASSNOTREG (0x80040154) 目前有两种解决办法: 解决方法一: 打开命令窗口(快捷键:窗口键+R,输入cmd点击确定) 输入cd D:\Progr ...

  7. 关于property的一些知识

    @property (nonatomic,assign,readonly) CGRect retweetViewFrame; retweetViewFrame设置为readonly,只有get方法,没 ...

  8. js-FCC算法Friendly Date Ranges

    让日期区间更友好! 把常见的日期格式如:YYYY-MM-DD 转换成一种更易读的格式. 易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天 (1st 代替 1). 记住不要显示那些可以被推 ...

  9. 【BZOJ-1097】旅游景点atr SPFA + 状压DP

    1097: [POI2007]旅游景点atr Time Limit: 30 Sec  Memory Limit: 357 MBSubmit: 1531  Solved: 352[Submit][Sta ...

  10. SQLServer自动备份和自动删除过期文件

    以下为转载的文章: 点击下一步: 自定义名称和说明,点击更改: 点击确定,下一步 1.备份: 选择备份,下一步,再下一步,选择需要备份的数据库: 选择备份文件存放的路径: 点击下一步,选择系统产生的报 ...