zoukankan      html  css  js  c++  java
  • jQuery

    、jquery的介绍
    1.jQuery是一个优秀的javaSript的框架,一个轻量级的js库
    2.他封装了js,css,dom,童工了一致的,简介的API
    3.兼容css3以及各种浏览器
    4,是用户更加方便的处理HTML。EVENTS,实现动画的效果,并且方便的为网站提供AJAX交互,是用户的HTML页面保持代
    码和HTML内容分离
    注:jQuery2.x开始不在支持Internet Exeplorer 6,7,8
    总结:jQuery是一个优秀的javaScript框架,一个轻量级的JS库。它里面封装了很多的js,css,dom相关的操作。我们使用
    jQuery,能够简介的书写前端的代码,并且它能够兼容大多数的浏览器,对我们的ajax的操作也提供了简介的解决方案。在页面
    使用jQuery,可以“少写,多做”,提高我们的开发效率

    二、如何使用jQuery
    1,引入jQuery的js文件
    2,利用选择器,查找操作的节点进行更简洁的
    3,

    attr() val() html() text()
    三、dom与jQuery对象的相互转换
    a dom----》jQuery对象
    $(dom)

    b jQuery--->dom
    $obj.get(0)

    $obj.get()[0];

    四 选择器
    a 基本选择器 demo1.html
    #id id选择器
    element 元素选择器
    .class 类选择器
    * 通配符
    selector1,selector2,selectorN 合并选择器

    b,层级选择器 demo2.html
    ancestor descendant 通过当前节点查找所有的后代
    parent > child通过当前节点查找素有的子节点
    prev+ next查找当前节点下一个兄弟
    prev~ nextborther 查找当前节点下所有的兄弟节点

    c,借本过滤选择器 demo3.html
    :first 查找第一个
    :last 查找催后一个元素
    :not(selector)排除满足要求的节点对象
    :even 查找偶数项的节点对象
    :odd 查找及奇数项的节点对象
    :eq(index) 查找下标等于xx的节点对象
    :gt(index) 查找下标大于xx的节点对象
    :lt(index)查找下表小于xx的节点对象

    d:内容过滤器 demo4.html
    :contains(text)匹配包含指定文本的元素
    :empty 匹配所有不包含子节点或文本的空元素
    :parent 匹配所有包含子节点或文本的空元素
    :has(selector) 匹配还有选择器所匹配的元素

    e:可见性过滤器 demo5.html
    :hidden 匹配隐藏的对象
    :visible 匹配 可见的对象

    f:属性 demo6.html
    [attribute] 有xx属性的节点对象
    [attribute=value]属性值等于xx的节点对象
    [attribute!=value]属性值不等于xx的节点对象
    [attribute^=value]属性值以xx开始的节点对象
    [attribute$=value]属性值以xx结束的节点对象
    [attribute*=value]属性值包含xx的节点对象
    [attrisel1] [attrisel2] [attriselN]复合属性选择器,需要同时满足多个条件的节点对象。

    g:子元素过滤器 demo7.html
    :first-child 匹配所有父元素的第一个子元素
    :last-child 匹配所有父元素的第一个子元素
    :nth-child(index) 匹配所有父元素下第index个子元素

    h 表单对象属性 demo8.html
    :enabled 查找属性是启用的节点对象
    :disabled 查找属性是禁用的节点对象
    :checked 查找单选或复选按钮中被选中的节点对象
    :selected 查找下拉选被选中的节点对象

    五:jquery对DOM操作的支持
    什么叫DOM?
    1.浏览器首先要对一个html文档进行解析
    2.在浏览器的内存中会生成一个dom树
    3.浏览器会对这个dom树进行渲染并生成相应的页面效果。

    a,查询或修改节点d1.html
    html()
    text()
    val()
    attr()
    removeAttr()
    b,创建 d2.html/dom
    $('dom')

    c添加
    append(content|fn)作为最后一个孩子添加
    appendTo(content)把所匹配的元素追加到另一个指定的节点中
    prepend(content |fn)作为第一个孩子添加
    prependTo(content) 把所匹配的元素前置到另一个指定的节点中

    插入
    after(content|fn)作为下一个兄弟添加
    before(content|fn)作为上一个兄弟添加

    d清空
    empty()清空
    remove() 删除

    e页面载入
    $(this)代表当前的节点
    $(document).ready(function (){

    });
    简写方式:
    $(function(){

    });
    f.复制一个节点clone(boolean)
    true将此节点绑定的事件一块复制过去
    1.5以后的版本默认为false。

    g.样式
    addClass();里面可以传class的名字或者一个函数
    removeClass();
    toggleClass();

    事件处理
    事件:js使我们有能力动态的去构建页面,事件就是可以被js侦测到的行为,简单来说就是计算机与
    人之间的交互行为。
    事件对象(event):我们每一次执行事件是,都会产生一个事件对象,该对象中包含了事件的相关
    信息,比如导致事件产生的元素(事件源),事件的类型以及其他特定事件的相关信息。
    1.原生js事件的回顾
    a,原生js如何绑定事件处理函数
    a-1 <input onclick="">绑定到html元素上
    a-2 obj.onclick=function(){}动态绑定在节点对象上
    a-3使用浏览器内置的特殊对象进行绑定。(了解)

    b,事件源,产生当前事件的源头;event,内置的对象
    event.target
    <input type="text" onclick="test1()"/>

    c.获取鼠标点击的坐标位置:
    event.clientX/offsetX
    event.clientY/offsetY

    d,阻止事件冒泡
    event.stopPropagation()

    event.cancelBubble=true;

    2.jQuery对事件的支持
    a,jQuery如何绑定事件处理函数?在jQuery的函数里面要用event,必须传参数event
    比如:funtion test(event){
    event.target.nodeName}
    1正式写法
    on(event,[selector],[data],fn)
    event:表示所要绑定的事件类型,用逗号隔开,比如:'click,blur'
    selector:匹配后代,可以共同使用该函数比如'.s1,.s2'
    data:当事件被触发时,要传递event,data给事件处理函数
    fn:即所要执行的函数,可以简写一个false,即该函数的返回值为false

    2.简写d2.html
    click([data],fn)
    change([data],fn)
    blur([data],fn)

    b如何获取事件对象
    funtion(event){
    }

    c jQuery事件对象的作用
    c.1找到事件源?(事件源:事件的源头)event
    var obj=event.target

    c.2获取鼠标的坐标位置
    event.pageX
    event.pageY

    c.3取消事件冒泡
    event.stopPropagation()

    b 如何获取事件对象?

    $(obj).click(function(event){

    })

    c jQuery事件对象的作用

    c.1 找到事件源 ?(事件源:事件的产生源头) event/e4.html
    //在此处返回的是一个dom节点对象
    var obj = event.target

    c.2 获取鼠标坐标位置
    event.pageX
    event.pageY
    c.3 取消事件冒泡
    event.stopPropagation()

    d 事件切换

    hover([over,]out) :一个模仿悬停事件的方法 event/e5.html
    over:鼠标移到元素上要触发的函数
    out:鼠标移出元素要触发的函数
    toggle([spe],[eas],[fn])1.9* event/e6.html

    用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件。
    如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。

    e 模拟事件
    trigger()

    七。动画效果
    a.显示,隐藏
    show([s],[e],[fn])显示,display结果为block
    hide()([s],[e],[fn])隐藏,display结果为none
    toggle()([s],[e],[fn])显示和隐藏之间的来回切话
    b.滑动
    slideUp()([s],[e],[fn])
    slideDown()([s],[e],[fn])
    slideToggle()([s],[e],[fn])
    c.淡入/淡出
    fadeIn();([s],[e],[fn])
    fadeOut()([s],[e],[fn])
    fadeTo()([s],[o],[e],[fn])
    fadeToggle()([s],[e],[fn])

    其中[s]为时间,单位为毫秒
    [o]为透明度
    [e]默认为swing,可用参数为liner
    [fn]在动画完成时所执行的函数,每个元素执行一次


    h查找
    注:table表格里面的的tr默认加在tbody里面
    children()查找所有的子节点
    find(e|o|e)查找满足条件的后代,必须要有参数
    next()查找下一个兄弟。
    nextAll()查找下面所有的兄弟
    nextUtil(exp)查找下面所有的兄弟,到exp停下来
    offsetParent()返回第一个匹配元素用于定位的父节点。
    parents()找到自己所有的祖先元素
    parent()找到自己的父亲节点
    prev()该集合每一个元素的查找上一个兄弟
    prevAll()该元素上面所有的兄弟
    prevUntil(exp)查找上面所有的兄弟,到exp条件停下来

    sibilngs()除了自己找到其他所有的兄弟,可以筛选

    jQuery对ajax的支持
    1.load(url,[data],[callback])
    作用:向服务器发送异步请求,将服务端相应回来的数据直接添加在符合要求的节点之上。

    参数
    url:请求地址
    data:请求参数,有两种形式
    ‘’name=tom&age=23‘

    {"name":'tom',"age":23}
    如果有请求参数,则发送的请求是post请求,如果没有请求,参数则发送的是get请i去
    callback:载入成功是的回调函数
    弊端:只能发送异步请求,对返回的数据不能处理
    只能添加在符合要求的节点之上。

    2 $.get(url,[data],[fn],[type])
    $post(url,[data],[fn],[type])

    弊端:只能发送异步请求,不能发送同步请求

    3 $.ajax({json对象})
    a 作用: 可以向服务端异步或同步的发送请求,并且可以使用回调函数处理
    服务端响应回来的内容。

    b 用法 :$.ajax({json对象}),按照json语法去定义参数。

    注 : json对象参数有以下主要可选项

    url:请求地址
    type:请求方式(get/post)
    data:绑定向服务端传递的参数
    dataType:服务端响应回来的数据类型(有五种,参照上的$.get)
    success:ajax请求成功时执行的回调函数
    函数格式:function(resutlt[,status]){

    }
    error:ajax请求失败时执行的回调函数
    async:默认缺省值为true . true表示异步,false表示同步


    例如:

    $.ajax({
    'url': 'checkName.do',
    'type':'get',
    'data':'username='+name/{'username':name},
    'dataType':'text',
    'success':function(data){

    },
    'async':false
    })

  • 相关阅读:
    使用__autoload()来管理文件导入
    PHP 类中的常量
    PHP 访问类中的静态属性
    PHP 中的静态变量的简单使用
    Vscode下Python的用户界面介绍
    VsCode下代码导航
    在VS代码中编辑Python
    vscode下Python设置参考
    在VS Code中对Python进行单元测试
    解决html5中video标签无法播放mp4问题的办法
  • 原文地址:https://www.cnblogs.com/wenwenzuiniucha/p/8549892.html
Copyright © 2011-2022 走看看