js 五 jquery的使用,调用

4 this 关键字
    this 表示当前函数或方法的调用者
    1 全局函数由window调用,所以全局函数中的this 指的是window对象
    2 事件处理函数中使用this,指的是当前事件的触发对象
2 事件对象
    1 事件对象伴随事件触发产生,包含当前事件相关的所有信息
    2 获取事件对象
        事件对象伴随事件发生,自动产生,由浏览器以参数的形式传入到事件处理函数中,我们只需要接收参数就可以
            et:
                function fn(evt){
                    console.log(evt)
                }
                fn(evt);
    3 事件对象的属性
        1 target / srcElement
            表示当前事件的触发对象;
            et:
                console.log(evt)
        2 不同的事件类型对应的事件对象中包含的信息也有所不同
            1 鼠标事件对象常用属性
                1 offsetX offsetY
                    获取鼠标在元素上的坐标位置
                    默认元素左上角为原点
                2 clientX clientY
                    获取鼠标在网页上的坐标位置
                3 screenX screenY
                    获取鼠标在屏幕上的坐标位置
        3 键盘事件对象的常用属性
            1 onkeydown 事件
                1 which 属性
                    获取当前按键的键码
                    对于大小写字母不进行区分
            2 onkeypress 事件
                1 key属性
                    获取当前按键对应的字符
                2 which 属性
                    获取按键对应的ASC码 ,区分大小写
3 事件处理机制
    1 事件传递
        当页面元素触发事件时,其他相关元素都会接收到这个事件,可以选择对事件作出处理
    2 事件传递机制:
        指页面中元素处理事件的顺序
        1 分类:
            1 冒泡
                冒泡传递指事件由里向外传递机制
            2 捕获
                捕获指事件从外向里传递,IE不支持
            W3C标准事件监听函数
            addEventListener(param,fun,boolean)
            参数:
                param:事件函数名,取消on前缀
                    et : click
                fun:事件触发要执行的操作,通常以匿名函数给出
                boolean:默认为false,可以省略,表示冒泡传递,设置为true,表示捕获传递
        2 阻止事件传递
            evt.stopPropagation()
jquery 使用
    1 jquery是一个JS库,封装了原生的JS,得到一套完整的方法
        核心 :write less, do more
        版本:
            1 xx.xx版本的jquery兼容IE6.7.8
            2 XX.XX 版本的jquery 不再兼容ie6.7.8
        优点:
            1 简化DOM操作,像操作css一样操作DOM
            2 直接通过选择器设置样式
            3 简化JS事件操作
            4 采用链式调用操作JS节点
            --------------------
            5 Ajax技术更加完善
            6 提供各种便捷的动画处理
            7 基于jquery的插件使用更便捷
            8 可能通过jquery自定义插件
        1 引入jquery 文件
            <script src=‘‘></script>
        2 如果想要使用jQuery语法,必须将文件引入操作放在代码前面
    2  使用jQuety
        1 jquery对象:实际上是对原生的js对象进行封装,封装之后可以使用jQuery提供的方法
            注意:
            1 jQuery对象可以使用jQuery提供的方法,原生js对象可以使用原生JS方法,方法不能混用
            2 jQuery对象和原生JS对象可以共存,也可以互相转换
        2.工厂函数 $()
            jQuery对象可以使用 jQuery或者 $表示
            使用:
                $(‘param‘)
        3 原生对象与jquery对象互相转换
            1 DOM -> jquery
                var h1 = document.get....
                var $h1 = $(h1);
            2 jquery -> DOM
                var h1 = $h1[0];
                var h1 = %h1.get(0);
    3 jQuery选择器
        1 根据提供的选择器到页面获取元素,返回都是jquery对象组成的数组
        2 $(‘选择器‘);
        3 选择器分类:
            1 基础选择器
                1 id 选择器
                    $(‘#id‘);
                2 类选择器
                    $(‘.className‘);
                3 标签选择器
                    $(‘tagName‘);
                4 群组选择器
                    $(‘selector1,selector2,...‘)
            2 层级选择器
                1 后代选择器
                    $(‘selector1 selector2‘);
                2 子选择器
                    $(‘selector1>selector2‘);
                3 相邻兄弟选择器
                    $(‘selector1+selector2‘);  只匹配一个
                    匹配紧跟在seletor1后
                4 通用兄弟选择器
                    $(‘selector1~selector2‘);
                    匹配selector1 后面所有满足selector2的兄弟元素
            3 筛选选择器
                也叫过滤选择器,需要结合其他选择器使用
                1 :first
                    匹配一组元素中的第一个
                    et:        p:first
                2 :last
                    匹配一组元素中的最后一个
                    selector:last
                3 :not
                    否定筛选,将selecctor匹配的元素过滤在外,匹配其他元素
                    :not(selector)
                4 :odd
                    匹配偶数行对应的元素
                5 :even
                    匹配奇数行对应的元素
                6 :eq(index)
                    匹配下标等于index的元素
                    et:     $(‘p:eq(3)‘).css(‘color‘,‘red‘);
                7 :lt(index)
                    匹配下标小于index的元素
                8 :gt(index)
                    匹配下标大于index的元素
            4 属性选择器
                {引用代码
                        <h1 id="d1">一级标题</h1>
                        <p class=‘c1‘>什么鬼1</p>
                        <h2 id=‘ad2‘ class=‘d1‘>二级标题</h2>
                }
                1 根据属性名筛选元素
                    [arrtibute]
                    et:        $(‘[id]‘).css(‘color‘,‘red‘);
                2 根据属性名称和属性值筛选元素
                    [arrtibute="value"]
                    et:        $(‘[id=d1]‘).css(‘border‘,‘1px solid‘)
                3 匹配属性名以指定字符开头的元素
                    [arrtibute^=value]
                    ^ 表示以...开头
                    et:        $(‘[id^=d]‘).css(‘font-size‘,‘16px‘)
                4 匹配属性值以指定字符结尾的元素
                    [arrtibute$=value]
                    $表示以...结尾
                    et:        $(‘[class$=1]‘).css(‘font-size‘,‘32px‘)
                5 匹配属性值中包含指定字符的元素
                    [arrtibute*=value]
                    et:        $(‘[id*=d]‘).css(‘background‘,‘orange‘)
                6 匹配属性名不等于指定属性值的元素
                    [arrtibute!=value]
            5 子元素过滤选择器
                1 :first-child
                    匹配属于父元素中的第一个子元素
                2 :last-child
                    匹配父元素中最后一个子元素
                3 :nth-child()
                    匹配第n个子元素
                    et :        $(‘li:nth-child(even)‘).css(‘color‘,‘red‘)
                    将关键字或是表达式做参数传递给:nth-child()
                    关键字 或表达的值会被作为下标匹配元素
                    even 取值: 1 3 5 7 ...
                    odd   取值:0 2 4 6 ...
    4 jQuery 操作DOM
        1 内容操作
            1 html()
                设置或读取jquery中的HTML内容,类似于原生JS innerHTML
            2 text()
                设置或读取jquery对象中的文本内容,类似原生JS innerText
            3 val()
                设置或读取表单对象的value值
        2 属性操作
            1 attr()
                读取或设置jquery对象的属性
                et:
                    $(‘div‘).attr(‘class‘,‘c1‘)
            2 removeattr()
                移除指定属性
                et:
                    $(‘div‘).removeAttr(‘id‘)
        3 样式操作
            1 attr()
                为元素添加id或class属性,对应选择器样式
            2 addClass(‘类名‘)
                为元素的class属性赋值,匹配选择器样式
                注意:
                    可以重复调用 ,为class添加属性值
                    1 $(‘p‘).addClass(‘类名1 类名2‘)
                    2   $(‘p‘).addClass(‘类名1‘)
                        $(‘p‘).addClass(‘类名2‘)
                    3 $(‘p‘).addClass(‘类名1‘).addClass(‘类名2‘)
            3 removeClass(‘‘)
                移除指定的class属性值
                参数可以省略,省略之后表示清空类选择器
            4 toggleClass()
                切换样式,给出class属性值,如果元素存在指定的类名,则移除,不存在则添加
            5 css()
                设置或读取元素的css属性
                1  css(‘width‘)
                    读取元素的宽度
                2   css(‘width‘,‘300px‘);
                    设置元素的样式
                3  css(JSon对象)
                    为元素设置一组css样式
                    css({‘color‘:‘red‘,‘width‘:‘300px‘})
        4 节点查询
            1 children() / children(‘selector‘)
                获取jquery对象的所有子元素或者获取指定选择器匹配的所有子元素
                注意:只包含直接子元素,不考虑后代子元素
            2 find(‘selector‘)
                获取满足selector的所有后代元素
            3 prev() / prev(‘selector‘)
                获取满足前一个兄弟元素或者获取前一个兄弟元素,必须满足slector
            4 next() / next(‘selector‘)
                获取后一个兄弟元素 或者 获取后一个兄弟元素,必须满足selector
            5 siblings() / siblings(‘selector‘)
                获取前后所有的兄弟元素 或者 满足selector的所有兄弟元素
            6 parent()
                获取jquery对象的父元素
        5 节点操作
            1 创建节点
                var $h1 = $(‘<h1>一级标题</h1>‘);
                var $h1_1 = $(‘<h1></h1>‘);
                h1.attr()
                h1.html()
                h1.css();
            2 添加节点
                1 以子元素的形式插入到页面中
                    1 $parent.append($h1);
                        将新创建的对象作为最后一个子元素插入
                    2 $parent.prepend($h1_1);
                        将新创建的对象作为第一个子元素添加
                2 以兄弟元素的形式插入到页面中
                    1 $obj.after($h1);
                        将新创建的对象作为$obj的下一个兄弟元素插入
                    2 $obj.before($h2);
                        将新创建的对象作为$obj的前一个兄弟元素插入

                3 删除节点
                    $obj.remove()
                    移除 $obj
        6 事件操作
            1 页面加载完毕之后再执行
                原生JS:
                    window.onload = function(){};
                jquery的三种写法
                    1 $(document).ready(function(){});
                    2 $().read(function(){});
                    3 $(function(){})
                原生 onload事件与jquery的ready()方法区别:
                    1 原生的onload事件多次使用时,前面的会被覆盖不执行,需要做特殊判断和处理,而ready方法没有此问题,
                        可以重复调用多次,按顺序依次执行
                    2 原生的onload事件会等待文档中DOM树及所有资源都加载完毕之后才执行,而ready方法会等文档DOM树加载完毕后就执行
            2 jquery事件绑定
                 1 使用bind()
                    $obj.bind(‘事件函数名‘,function(){});
                    注意:省略on 前缀
                        et:
                            $(‘div‘).bind(‘click‘,function(){})
                2 使用事件函数
                     $obj.事件名称(function(){});
                     注意:省略on前缀
                     et:
                        $(‘div‘).click(function(){});
            3 事件对象及属性
                1 获取事件对象与原生方法一致
                    都是以参数形式自动传入
                    $(‘div‘).click(function(evt){console.log(evt)})
                2 事件对象的属性保持一致
                    target
                    offsetX
                    ...
            4 this 对象
                当前函数或方法的调用对象

原文地址:https://www.cnblogs.com/Skyda/p/9846018.html

时间: 2024-11-01 12:30:36

js 五 jquery的使用,调用的相关文章

js与jQuery方法对比

CreateTime--2017年1月19日10:00:10Author:Marydonjavascript与jQuery方法对比jquery对象转dom对象 //方式一 $("#confirm")[0] //方式二 $("#confirm").get(0) //方式三 $("#confirm").eq(0)[0] var getObjectByJs = document.getElementById("test"); var

【第2章第300回】原生JS与jQuery对AJAX的实现

一.定义 W3C里这么解释AJAX: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).AJAX 不是新的编程语言,而是一种使用现有标准的新方法.AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下. 就是利用JS来无刷新与后端交互,通过get和post方式把数据发送到后端,或者请求后端的数据,然后根据请求的数据进行改变DOM节点等操作,从而取消掉用form的submit方式一提交就会跳转页面的情况

JS和JQuery总结

目录目录    2 js部分一.词法结构 1.区分大小写 2.注意   // 单行      /*  多行注释  */ 3.字面量(直接量  literal) 12  //数字 5.8 // 小数 "hello" 'hello' true /js/gi  //正则 null    //空 {x:1,y:2} [1,2,3,4] 4.标示符(变量)和保留字 5.分号可以省略但是可能会产生问题,js会自动补; var y = x+f (a+b).toString() 等价于 var y =

[JS][easyui]jQuery EasyUI Datagrid VirtualScrollView视图简单分析

 大家都知道EasyUI的Datagrid组件在加载大数据量时的优势并不是很明显,相对于其他一些框架,如果数据量达到几千,便会比较慢,特别是在IE下面.针对这种情况,我们首要做的是要相办法优化datagrid组件的各方面性能,不过任何事情都是可以变通解决的,virtualScrollView就是一种不错的解决方案. virtualScrollView的准则就是尽量少画tr到table里,表格的高度是有限的,而用户的可见区域是很有限的,所以数据量很大的时候,是没有必要将所有数据数据都画到表格中

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法 一丶什么是JQuery JQuery: ???????JQuery是js的一个库,高度封装了js常用的功能,提供简便方法,调用简单,提高开发效率 ??????js库是包含了把复杂的功能封装到简单的方法中 JQuery的两大特性: ???????链式编程:可以.的形式实现多个功能 ?

五.jQuery源码解析之jQuery.extend(),jQuery.fn.extend()

给jQuery做过扩展或者制作过jQuery插件的人这两个方法东西可能不陌生.jQuery.extend([deep],target,object1,,object2...[objectN]) jQuery.fn.extend([deep],target,object1,,object2...[objectN])这两个属性都是用于合并两个或多个对象的属性到target对象.deep是布尔值,表示是否进行深度合并,默认是false,不执行深度合并.通过这种方式可以在jQuery或jQuery.fn

原生JS与jQuery操作DOM有什么异同点?

本文和大家分享的主要是原生JS与jQuery操作DOM相关内容,一起来看看吧,希望对大家学习javascript有所帮助. 一.创建元素节点 1.1 原生 JS 创建元素节点 document.createElement("p"); 1.2 jQuery 创建元素节点 $('<p></p>');` 二.创建并添加文本节点 2.1 原生JS创建文本节点 document.createTextNode("Text Content"); 通常创建文

关于js和jquery的一些问题

很长时间没有写前台代码了,突然想用js写个文件上传共通,结果遇到了各种各样的问题. 现在把问题和解决的办法记录一下.(有些还没有找到具体的原因) 1,利用extend(bool,{},item1,item2-.)来深度拷贝对象,只是得到浅拷贝的结果. 测试语句: var aa = { bb:{ cc:"12" } } var dd = $.extend(true, {}, aa); var ee = $.extend(true, {}, aa); //var dd = JSON.par

jquery.cityselect.js基于jQuery+JSON的省市或自定义联动效果

一.插件介绍 最早做省市联动的时候都特别麻烦,后来在helloweba的一篇文章中看到这个插件,很不错的,后来就一直用了. 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最为常见.开发者一般使用Ajax实现无刷新下拉联动.本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 二.插件作者及网址 作者:暂无(请作者看到后联系我[email protected],好标上你的大名)官方网址:无官方DEMO:无最新版本:日期201