Document

回顾:
js:
    组成部分:
        ECMAScript
        BOM
        DOM
变量声明 var 变量名=初始化值;
数据类型:
        原始类型
            Undefined Null
            String Number Boolean:伪对象
            通过typeof运算符可以判断出属于那种原始类型
                typeof 值|变量
        引用类型
            Boolean Number
            String 
                常用属性:length
                常用方法:
                    substring
                    split
                    replace
            Array
                常用属性:length
                注意:
                    array长度可以变化
                    array可以存放任意值
            Math
            Date
            RegExp    常用方法:test()
                直接量语法:
                    /正则表达式/
            全局
                decodeURI 解码
                eval 计算字符串,解析成js代码执行
运算符:
    关系运算符
    等性运算符 ==  ===
语句:
    选择 循环
////////////////////////////////
BOM(浏览器对象模型)
    window:窗口
        常用属性:
            获取其他的四个对象
                window.location....
        常用方法:
            消息框
                alert confirm prompt
            定时器
                setInterval 周期
                setTimeout 延迟
            打开关闭 
                open close
    location:定位
        location.href:设置或者获取url
    history:历史
        go()
///////////////////////////////
事件和函数
    掌握的事件:
        焦点:
            onfocus
            onblur
        表单事件
            onsubmit
            onchange 改变
        页面或者元素加载
            onload 
                最常用的方式:
                    window.onload=function(){};
        单击
            onclick
    函数:
        方式1:
            function 函数名(参数列表){
                函数体
            }
        方式2:
            匿名函数
            例如:window.onload=function(){};
        
事件绑定函数:
    方式1:通过元素的事件属性
        <xxx onxxx="函数名(参数)">  若参数为this:是将当前的dom对象传递给了函数
    方式2:派发事件
        dom对象.onxxx=function(){};
///////////////////////////////////////////
DOM(文档对象模型)
    就是我们的html代码加载到内存中会形成一棵document树
    节点:
        文档节点 document
        元素节点 element
        属性节点 attribute
        文本节点 text
    获取一个元素节点:通过document获取
        四个
    操作元素的属性
        dom对象.属性
    操作元素的标签体
        dom对象.innerHTML
////////////////////////
以前通过js获取对象的时候
    var obj=document.getElementById("id");
    
    funtion getId(id){
        return document.getElementById("id");
    }
    
    $("选择器")===>获取元素
//////////////////////////
js类库:
    对常用的方法和对象进行封装,方便我们使用.
jQuery:
案例1-弹出广告
技术:
    定时器
    jQuery
///////////////////////////
jquery和html的整合
    jquery是单独的js文件
        通过script标签的src属性导入即可
获取一个jquery对象
    $("选择器")  或者 jQuery("选择器")
dom对象和jquery对象之间的转换
    dom对象===>jquery对象    
        $(dom对象)
    jquery对象===>dom对象
        方式1:
            jquery对象[index]
        方式2:
            jquery对象.get(index)
页面加载:
    js:
        window.onload=function(){}//在一个页面中只能使用一次
    jquery 在一个页面中可以使用多次
        方式1:
            $(function(){...})
        方式2:
            $(document).ready(function(){});
派发事件:
    $("选择器").click(function(){...});
    等价于 原生js中
        dom对象.onclick=function(){....}
    掌握事件:
        focus
        blur
        submit
        change
        click
jquery中效果:
    隐藏或展示
        show(毫秒数) hide(毫秒数)
    滑入或滑出
        slideDown(毫秒数):向下滑入
        slideUp(毫秒数):向上滑出
    淡入或淡出
        fadeIn(int):淡入
        fadeOut(int):淡出
/////////////////////
案例1-步骤分析
    1.页面加载成功之后$(function(){...}) 开始一个定时器 setTimeout();
    2.编写展示广告方法 
        获取div,然后调用效果方法
        设置另一个定时器 隐藏
    3.编写隐藏广告的方法
        获取div,然后调用效果方法
////////////////////////////////////
选择器总结:
    基本选择器★
        $("#id值")  $(".class值")  $("标签名")  
        
        了解:$("*")
        理解:获取多个选择器 用逗号隔开
            $("#id值,.class值")
    层次选择器 ★
        a b:a的所有b后代
        a>b:a的所有b孩子
        a+b:a的下一个兄弟(大弟弟)
        a~b:a的所有弟弟
    基本过滤选择器:★
        :frist 第一个
        :last 最后一个
        :odd  索引奇数
        :even 索引偶数
        :eq(index) 指定索引
        :gt(index) >
        :lt(index) <
    内容过滤:
        :has("选择器"):包含指定选择器的元素
    可见过滤:
        :hidden   在页面不展示元素 一般指 input type="hidden" 和 样式中display:none
        :visible 
    属性过滤器:★
        [属性名]
        [属性名="值"]
    表单过滤:
        :input  所有的表单子标签  input select textarea button
        //input
////////////////////////
案例2-隔行换色
技术分析:
    1.页面加载成功
    2.获取所有的奇数行 添加一个css
    3.获取所有的偶数行 添加一个css

属性和css操作总结:
    对属性的操作:
        attr():设置或者获取元素的属性
            方式1:获取
                attr("属性名称")
            方式2:设置一个属性
                attr("属性名称","值");
            方式3:设置多个属性  json
                attr({
                    "属性1":"值1",
                    "属性2":"值2"
                })
        removeAttr("属性名称"):移除指定属性
    //添加class属性的时候 
    //    attr("class","值");
    addClass("指定的样式值"); 相当于 attr("class","指定的样式值");
    removeClass("指定的样式值");

    对css操作:操作元素的style属性
        css():获取或者设置css样式
            方式1:获取    
                css("属性名")
            方式2:设置一个属性
                css("属性名","值")
            方式3:设置多个
                css({
                    "属性1":"值1",
                    "属性2":"值2"
                });
    获取元素的尺寸:
        width()
        height()
/////////////////////////////
案例3-全选或者全不选
需求:
    就是将内容中复选框的选中状态和最上面的复选框状态保持一致
步骤分析:
    1.确定事件 复选框的单击事件
    2.函数中
        a.获取该复选框的选中状态  attr(获取不了checked属性)|prop
        b.获取所有的复选框修改他们的状态
注意:
    若jquery版本>1.6 统一使用 prop操作元素的属性
/////////////////////////
/////////////////////////
/////////////////////////
/////////////////////////
案例4-省市联动
步骤分析:
    1.确定事件 省份的下拉选变化的时候  change
    2.编写函数
        a.获取当前省份的value值
        b.通过数组获取该省下的所有市 返回值:数组
        c.遍历数组,拼装成option元素 追加到市下拉选即可
        注意:每次改变的时候初始化市的值.
///////////////////////////
技术:
    遍历数组
        数组.each(function(){});
        $.each(遍历数组,function(){});
        
    注意:
        each的function中可以加两个参数 index和dom
            index是当前遍历的索引值
            dom指代的是当前遍历的dom对象(开发中一般使用this即可)
    //////////////////////////////
    设置或者获取value属性
        jquery对象.val():获取
        jquery对象.val("...."):设置
    /////////////////////////////////////////
    设置获取获取标签体的内容 
        html()
        text()
        
        xxxxx():获取标签体的内容
        xxxxx("....."):设置标签体的内容
            
            设置的区别:
                html:会把字符串解析
                text:只做为普通的字符串
            获取的区别:
                html:获取的html源码
                text:获取只是页面展示的内容
    //////////////////////////////////////////////
创建一个元素: $("<标签></标签>")
///////////////////////
文档操作:
    内部插入
        a.append(c):将c插入到a的内部(标签体)后面
        a.prepend(c):将c插入到a的内部的前面
        
        appendTo
        prependTo
    外部插入
        a.after(c):将c放到a的后面
        a.before(c):将c放到a的前面
        
        a.insertAfter(c)
        a.insertBefore(c)
    删除
        empty() 清空元素
        remove() 删除元素
/////////////////////////////////
/////////////////////////////////
/////////////////////////////////
案例5-左右移动
步骤分析:
    1.确定事件 单击事件
    2.编写函数:
        移动一个:
            右边的下拉选追加一个 左边的选中的第一个
        移动多个:
            左边选中的 追加到右边的下拉选中
        移动全部:
            将左边的所有option追加到右边的下拉选中
        
技术分析:
    表单对象属性过滤选择器
        :enabled   可用的
        :disabled  不可用
        :checked     选中的(针对于单选框和复选框的)
        :selected     选中的(针对于下拉选)














///////////////////////////////////////////////////

///////////////////////////////////////////////////
///////////////////////////////////////////////////
上午回顾:
js类库:
    对常见的方法和对象进行了封装,方便开发.
jquery和html的整合
    script标签的src属性导入即可
获取jquery对象
    $("选择器")  jQuery("选择器")
dom对象和jquery对象之间的转换
    dom>>>jquery    
        $(dom对象)
    jquery>>>dom
        方式1:
            jquery对象[index]
        方式2:
            jquery对象.get(index)
jquery中的选择器:
    基本选择器★
        $("#id值") $(".class值") $("标签名")  $("#one,#two,.mini")
    层次选择器★
        a b:后代
        a>b:孩子
        a+b:大弟弟
        a~b:弟弟们
        
    基本过滤选择器
        :frist :last
        :odd :even
        :eq(index) :gt|lt..
    内容过滤
        :has(选择器)
    可见性过滤
        :visible
        :hidden 指代是 input type=hidden  和 display:none
    表单的过滤
        :input
    属性选择器:
        [属性]
        [属性=值]
    表单对象属性过滤选择器
        :enabled   可用的
        :disabled  不可用
        :checked     选中的(针对于单选框和复选框的)
        ★:selected     选中的(针对于下拉选)
    
///////////////////////////
派发事件:
        jquery对象.事件(function(){.....});
        例如:
            $("#btn1").click(function(){.....});
/////////////////////////
页面加载成功
    $(function(){
        ......
    })
    
    $(document).ready(function(){
        ////
    });
///////////////////////////
属性和css
    attr():设置或者获取属性(1.6版本之前)
        attr("属性名"):获取
        attr("属性名","值"):设置一个        
        attr({
            "属性名":"值",
            "属性名":"值" 
        })
        
    prop():和attr用法一致(1.6版本之后)
    
    (了解)addClass("存在的样式")
    
    removeAttr()
    (了解)removeClass()
    
    css():设置获取获取元素的样式
        css("属性"):获取
        css("属性","值"):设置
        css({
            "":"",
            "":"",
            "":""
        }):设置多个
    
    width()
    height()
/////////////////////////////////////
    文档处理:
        内部插入(2组方法 任意掌握一组)
        外部插入(2组方法 任意掌握一组)
        删除(empty remove)
//////////////
val html text
        val :设置或者获取values属性
        html:获取或者设置标签体内容
////////////////////
遍历数组
    方式1:
        jquery对象.each(function(){});
    方式1:
        $.each(jquery对象,function(){});
/////////////////////////
在jquery中创建元素
    $("<标签名>").prop(属性).html(内容)
////////////////////////////
原文地址:https://www.cnblogs.com/chenyanlong/p/9944188.html