jquery基础知识与常见案例

jquery基础知识与常见案例


一、基础知识

1.js类库
  对原生js常见的方法和对象进行了封装,方便开发.

2.jquery和html的整合
  script标签的src属性导入即可(jquery是单独的js文件)
  
3.获取jquery对象
  $("选择器")   jQuery("选择器")
    
4.dom对象和jquery对象之间的转换
(1)dom->jquery    
    $(dom对象)
(2)jquery->dom
    方式1:jquery对象[index]
    方式2:jquery对象.get(index)
    
5.jquery中的选择器
(1)基本选择器 ★
    $("#id值") $(".class值") $("标签名")  
    获取多个选择器 用逗号隔开:$("#id值,.class值")
(2)层次选择器 ★
    a b:a的所有b后代
    a>b:a的所有b孩子
    a+b:a的下一个兄弟(大弟弟)
    a~b:a的所有弟弟
(3)基本过滤选择器 ★
    :frist 第一个
    :last  最后一个
    :odd   索引奇数
    :even  索引偶数
    :eq(index) 指定索引
    :gt(index) >
    :lt(index) <
(4)内容过滤
    :has("选择器"):包含指定选择器的元素
(5)可见性过滤
    :visible
    :hidden 在页面不展示元素 一般指input type="hidden" 和样式中display:none
(6)表单过滤
    :input  所有的表单子标签  input select textarea button
    input   input子标签
(7)属性选择器 ★
    [属性名]
    [属性名="值"]
(8)表单对象属性过滤选择器
    :enabled   可用的
    :disabled  不可用
    :checked   选中的(针对于单选框和复选框的)
    :selected  选中的(针对于下拉选) ★
    
6.派发事件
(1)js
    dom对象.onclick=function(){....}
(2)jquery
    jquery对象.事件(function(){.....});
    例如:$("选择器").click(function(){...});
    掌握事件:focus,blur,submit,change,click

7.页面载入
(1)js  在一个页面中只能使用一次
    window.onload=function(){}
(2)jquery  在一个页面中可以使用多次
    方式1:$(function(){...})
    方式2:$(document).ready(function(){});
    
8.jquery中效果(了解)
(1)隐藏或展示
    show(毫秒数) hide(毫秒数) toggle(毫秒数)//切换
(2)滑入或滑出
    slideDown(毫秒数):向下滑入
    slideUp(毫秒数)  :向上滑出
(3)淡入或淡出
    fadeIn(毫秒数) :淡入
    fadeOut(毫秒数):淡出
    
9.属性和css操作
(1)对属性的操作
    attr():设置或者获取元素的属性(1.6版本之前)
    方式1:获取:attr("属性名称")
    方式2:设置一个属性:attr("属性名称","值");
    方式3:设置多个属性  json
        attr({
            "属性1":"值1",
            "属性2":"值2"
        })
    removeAttr("属性名称"):移除指定属性
    prop():和attr用法一致(1.6版本之后)
    addClass("class名称"); 相当于 attr("class","指定的样式值");
    removeClass("class名称");
(2)对css的操作:操作元素的style属性
    css():获取或者设置css样式
    方式1:获取:css("属性名")
    方式2:设置一个属性:css("属性名","值")
    方式3:设置多个属性
        css({
            "属性1":"值1",
            "属性2":"值2"
        });
(3)获取元素的尺寸:
    width()
    height()    

10.遍历数组
   方式1:数组.each(function(){});
         即:jquery对象.each(function(){});
   方式2:$.each(数组,function(){});
         即:$.each(jquery对象,function(){});

11.val-html-text操作
(1)设置或者获取value属性
    jquery对象.val():获取
    jquery对象.val("..."):设置
(2)设置或者获取标签体的内容 
    html()
    text()
    xxx():获取标签体的内容
    xxx("..."):设置标签体的内容
    设置的区别:
        html:会把字符串解析
        text:只作为普通的字符串
    获取的区别:
        html:获取html源码
        text:只是获取页面展示的内容
    附:创建一个元素: $("<标签></标签>")
    
12.文档处理
(1)内部插入 (2组方法 任意掌握一组)
    方法一:
    a.append(c) :将c插入到a的内部(标签体)后面
    a.prepend(c):将c插入到a的内部的前面
    方法二:    
    a.appendTo(c) :将a插入到c的内部(标签体)后面
    a.prependTo(c):将a插入到c的内部的前面
(2)外部插入 (2组方法 任意掌握一组)
    方法一:
    a.after(c):将c放到a的后面
    a.before(c):将c放到a的前面
    方法二:
    a.insertAfter(c):将a放到c的后面
    a.insertBefore(c):将a放到c的前面
(3)删除 
    empty()  清空元素
    remove() 删除元素
            
13.在jquery中创建元素
   $("<标签名>").prop(属性).html(内容)


二、常见案例

1.案例一-定时弹出广告    
(1)需求:打开页面后4秒,展示广告,2秒之后,该广告隐藏.再停2秒,继续展示
(2)技术分析:定时器,jquery,页面加载,派发事件,选择器
(3)思路:确定事件->编写函数(获取元素,操作元素)
(4)步骤分析:    
    a.页面加载成功之后$(function(){...}) 开始一个定时器 setTimeout();
    b.编写展示广告方法 
        获取div,然后调用效果方法
        设置另一个定时器 隐藏
    c.编写隐藏广告的方法
        获取div,然后调用效果方法

2.案例二-隔行换色    
(1)需求:一个表格,隔一行换一个色
(2)技术分析:jquery,css,属性
(3)思路:确定事件->编写函数(获取元素,操作元素)
(4)步骤分析:    
    a.页面加载成功
    b.获取所有的奇数行 添加一个css
    c.获取所有的偶数行 添加一个css

3.案例三:全选或者全不选
(1)需求:将内容中复选框的选中状态和最上面的复选框状态保持一致
(2)技术分析:prop
(3)思路:确定事件->编写函数(获取元素,操作元素)
(4)步骤分析:    
    a.确定事件 复选框的单击事件
    b.函数中
    获取该复选框的选中状态  attr(获取不了checked属性)|prop
    获取所有的复选框修改他们的状态

4.案例四-左右选中
(1)需求:将左边选中的内容移到右边
(2)技术分析:表单对象属性过滤选择器
(3)思路:确定事件->编写函数(获取元素,操作元素)
(4)步骤分析:    
    a.确定事件 单击事件
    b.编写函数:
    移动一个:
        右边的下拉选追加一个 左边的选中的第一个
    移动多个:
        左边选中的 追加到右边的下拉选中
    移动全部:
        将左边的所有option追加到右边的下拉选中

5.案例五-省市联动
(1)需求:选中省的时候,动态的查询当前省下的所有市,然后展示在市的下拉选中
(2)技术分析:遍历数组
(3)思路:确定事件->编写函数(获取元素,操作元素)
(4)步骤分析:    
    a.确定事件 省份的下拉选变化的时候  change
    b.编写函数
    获取当前省份的value值
    通过数组获取该省下的所有市 返回值:数组
    遍历数组,拼装成option元素 追加到市下拉选即可
    注:每次改变的时候初始化市的值.

    
        
    

猜你喜欢

转载自blog.csdn.net/smiling_chang/article/details/81512120