Web 基础27 JQuery简介及其入门案例 (一)

JQuery的概述

  • JQuery

    • jQuery是一款快速的,简洁的JS框架(JS代码库),是继Prototype之后一款优秀的JS框架,
    • jQuery的设计宗旨是"write less,do more",写的更少,而做的更多,
    • jQuery封装了JS的常用功能。
  • JQuery可以更好的完成如下的操作

    • 简化优化了对dom的操作
    • 简化优化了ajax的实现
    • 提供了丰富的事件处理
    • 提供了简单的动画效果
    • 提供了非常丰富的插件机制,市场上有非常多的jQuery的插件,比如表单校验插件,日期插件,树形结构的插件
  • JQuery的官网

  • JQuery的常用版本

    • 1.x; 1.8.3 支撑老版本IE浏览器
    • 2.x;
    • 3.x;
  • JQuery 查询的意思 更加方便的查询和控制页面的控件

1.1.1 上面说到的框架与库的区别

  • 库的英文是Library (lib),框架英文 Framework

  • 库是将代码集合成一个产品,供程序员去调用

  • 面向对象的代码组成形成的库是类库,面向过程代码组成的库叫做函数库,在函数库中可以直接使用函数叫做库函数

    • 特点:灵活,需要就调用,不需要的地方自己实现
  • 框架是为解决一类问题而开发的产品

    • 框架的用户一般只需要使用框架提供的类和函数,就可以实现全部功能
    • 特点:一条龙服务,使用框架的时候,必须要使用框架的全部代码,即使用不到你也不能挑三拣四,必须按照规则来,不灵活
  • jQuery定位 官方说框架(重量级),java看来,他其实就是一个js代码库(轻量级)

  • jquery提高你的工作效率,并不是提高代码的运行效率

  • JQuery的语法特点

    • 快速获取文档的元素
    • 提供漂亮页面动态效果
    • 创建AJAX异步加载网页
    • 提供js语法的增强--元素遍历 数组处理
    • 增强了事件处理--消除了浏览器兼容问题
    • 更改网页的内容 --文本,插入或者翻转网页的图像

1.2 jQuery入门案例

  是在页面加载完成之后执行指定的事件即onload事件

  • 第一种方式
<body onload="alert('页面加载完成了!');" > 
</body>
  • 第二种方式
<script type="text/javascript">
    window.onload = function() {
        alert("页面加载完成了!1");
    }
</script>   

  • 第三种方式
<script type="text/javascript">
    $(function(){
        alert("页面加载完成了!jQuery!");   
    });
</script>
  • 使用步骤

    • 导包 在项目放入jq的jar包
    • 页面中引用
      • <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
    • 调用jQuery方法 $(匿名函数);
  • jQuery所有的操作基本上以$开头--说明这段代码其实使用的是jQuery的方法

    • $(匿名函数);可以在页面加载完成之后执行这段匿名函数,替代window.onload事件
  • JQ与直接BOM的区别

    • jQuery可以把我们的代码合并执行
    • window.onload 多次编写会被后面的方法覆盖

1.3 jQuery对象与dom对象的转换

  • jQuery对象可以调用jQuery的方法,jQuery对象不可以调用dom的方法,
  • dom对象可以调用dom的方法,dom对象不可以调用jQuery的方法,
  • jQuery对象和dom对象都只能调用自己的方法,都只能访问自己的属性。

  为了方便使用所以jQuery对象与dom对象之间需要互相转换。

  • 方法其实是有归属感 j-Query方法归属于jQuery对象,dom方法归属于dom对象
  • dom对象->jquery对象 $(dom对象)
//获取div标签的dom对象
var domDiv01 = document.getElementById("div01");
alert(domDiv01.innerHTML);
alert($(domDiv01).html());//将dom对象转换成jQuery对象 

  • jQuery对象->dom对象 jQuery对象[0] 或者 jQuery对象.get(0)
//获取div标签的jQuery对象
var jQueryDiv01 = $("#div01");
alert(jQueryDiv01.html());
alert(jQueryDiv01.get(0).innerHTML);//将jQuery对象转换成dom对象

1.3.1 核心方法

  • $();核心方法 -- 方法名是jQuery-- 为了方便简写成$
    • 方法可以传很多类型的参数(类似于java中的重载)
    • $(function(){}) 页面加载完成之后执行匿名函数中的代码
    • $("#div01") 使用选择器直接获得jQuery页面中元素对象
    • $(dom对象) 将Dom对象转化成jQuery对象
    • 将一个html对象转化成jQuery对象

1.4 JQuery的常用选择器

1.4.1我们比较熟悉的选择器

  • 先写一个网页先
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>jQuery的常用选择器</title>
        <style type="text/css">
            div {
                height: 100px;
                width: 300px;
                border: 1px solid blue; 
            }           
        </style>
        <script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
            $(function() {
                
            
        </script>
    </head>
    <body>
        <div id="div01">小熊先生的个人主页</div>
        
        <br />
        <div class="div02">小熊的手札</div>
        
        <br />
        <div>小熊的火锅</div>
        
        <br />
        <div name="div04">小熊的烤肉</div>
        
        <br />
        <a name="div04">小熊的皮皮虾</a>
    
    </body>
</html>

  JQ的选择与JS非常的类似就是语法有些不同

  • id选择器
var div01 = $("#div01");
alert(div01.html());
  • 类选择器
var classList = $(".div02");
  • 元素选择器
var divList = $("div");
alert(divList.size());  
  • 组合选择器
var elementList = $("div,a");
alert(elementList.size());
  • 属性选择器
var nameList = $("[name=div04]");
alert(nameList.size());
  • 标签属性选择器
var aNameList = $("a[name=div04]");
alert(aNameList.html());
  • 注意:
    • 只有id选择器返回的jQuery对象,因为id一般是唯一的,其他返回的都是集合
    • [name=div04]不是赋值,而是比较运算符
    • 如果通过选择器返回的集合只有一个元素,直接调用方法,操作属性就可以

1.4.1一些比较特殊的选择器

  • 我们依旧先编写一个网页
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>jQuery的常用选择器</title>
        <style type="text/css">
            div {
                height: 100px;
                width: 300px;
                border: 1px solid blue; 
            }           
        </style>
        <script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
            $(function() {              
                
                
            });
            
        </script>
    </head>
    <body>
        <div style="display: none;">小火龙</div>
        <br />
        <br />
        
        <div>杰尼龟</div>
        <br />
        <br />
        
        <div>皮卡丘</div>
        <br />
        <br />
        
        <input type="checkbox" name="hobbies" value="xiaozhi" checked="checked"/>
        <input type="checkbox" name="hobbies" value="xiaoxia" checked="checked" />
        <input type="checkbox" name="hobbies" value="tom" />
        <input type="checkbox" name="hobbies" value="xiaogang" />
        <br />
        <br />
        
    
        
        
            
    
    </body>
</html>
  • 获取不可见标签 : hidden
var hiddenList = $("div:hidden");
  • 获取可见标签 : visible
var visibleList = $("div:visible");
  • 获取选中的复选框或者单选按钮 input : checked
var checkedList = $("input:checked");
  • 说明:其实JQ的选择器还有很多,具体可以看看手册会会用了有例子很简单的。
  • 案例
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>jQuery的常用选择器</title>
        <style type="text/css">
            div {
                height: 100px;
                width: 300px;
                border: 1px solid blue; 
            }           
        </style>
        <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
            $(function() {              
            
            //获取隐藏域标签   
            /* var list = $("input:hidden");
             alert(list.size());
             alert(list[0].value);*/
             
            //获取单选按钮选中标签方式一
            /*var list = $("input[type=radio]:checked");
             alert(list.size());
             alert(list[0].value);
             */
            
             //获取单选按钮选中标签方式二
            /*var list = $(".radio:checked");
             alert(list.size());
             alert(list[0].value);*/
             
             
            //获取选中的下拉框
            var list = $("select option:checked");
             alert(list.size());
             alert(list[0].value);
            });
            
        </script>
    </head>
    <body>
        <div style="display: none;">小熊先生</div>
        <br />
        
        <div>小熊先生不开心</div>
        <br />

        <div>小熊先生很委屈</div>
        <br />
        
        <input type="checkbox" name="hobbies" value="java" checked="checked"/>
        <input type="checkbox" name="hobbies" value="android" checked="checked" />
        <input type="checkbox" name="hobbies" value="php" />
        <input type="checkbox" name="hobbies" value="python" />
        <br />
        
        <input type="hidden" name="option" value="add" />
        
        <input type="radio" class="radio" name="sex" value="男" checked="checked"/>男
        <input type="radio" class="radio" name="sex" value="女" />女
        <br />
        
        <select id="province">
            <option>--选择省--</option>
            <option value="henan" selected="selected">河南省</option>
            <option value="niaoling">辽宁省</option>
            <optionvalue="shangdong">山东省</option>
        </select>
        <br />
    
    </body>
</html>


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,585评论 4 365
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,923评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,314评论 0 248
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,346评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,718评论 3 291
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,828评论 1 223
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,020评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,758评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,486评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,722评论 2 251
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,196评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,546评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,211评论 3 240
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,132评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,916评论 0 200
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,904评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,758评论 2 274

推荐阅读更多精彩内容

  • 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Nul...
    伯纳乌的追风少年阅读 25,724评论 2 46
  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,286评论 0 44
  • 我们家早餐一直以来都是我老婆主理,我不是不会,我是很享受这份幸福。 最近这些天,因为老婆和宝宝去旅行了,我自理的早...
    意橙大树阅读 464评论 3 5
  • 说 明 这是药圈七周年“我是药”征文活动,欢迎大家来参与活动!奖品多多,奖品丰富!有ipadmini2、药圈七周年...
    开心药师阅读 605评论 0 0
  • 上一次的美食推荐为大家介绍的是位于尖沙咀The One购物中心18楼的西班牙餐厅TAPARIA,今天要推荐的这家女...
    港漂圈豆豆阅读 473评论 0 1