zoukankan      html  css  js  c++  java
  • jquer总结

    前端jq总结

    选择器**********************************************************************

    1,基本选择

     #id

     .clss

     element    dom元素

    [selector1,selector2]

     *

    ------------------

    2,层级选择器

      ancetor descendant    匹配祖先下的所有后代元素

      parent》child 匹配父元素下面的所有儿子元素

      prev+next 匹配prev紧挨着的next元素。平级平辈的。向下的紧挨着的元素

      prev~siblings 匹配prev所有平辈元素,只能是向下的,弟弟级的,不能是向上

    sibling    哥哥级的

    -----------------

    3,简单选择器

    :first  第一个   $("li:first").html("第一个");

    :last    最后一个 $("li:first").html("最后一个");

    :even   偶数     $("li:first").html("偶数");

    :odd   奇数     $("li:odd").html("奇数");

    :eq(index) 下标     $("li:eq(3)").html("第四个li变");

      $("li:eq(3),li:eq(5),").html("第四个li变");

    :gt(index) 大于下标 $("li:gt(3)").html("大于四的li都变");

    :lt(index) 小于下标 $("li:lt(3)").html("小于四的li都变");

    :not(select)   除了这个选择器的其他元素

       $("li:not(eq(3))").html("除了下标为3的其他元素);

    ------------------

    4,内容选择器

    :contains(text) 指定值 $("li:contains('国')").html(“国的地方改为这些”);

    :empty 内容为空 $("li:empty").html(“空的地方显示字”);

    :has(selector)  内容中包含指定选择器$("li:has('a')").html(“li里面包含a的内容”);

    :parent 内容不为空 $("li:parent").html(“内容不为空的地方显示字”);

    ------------------

    5,可见性选择器

    :hidden 匹配所有不可见元素,或者type为hidden的元素//.show(3000)显示元素方法.hide(3000)显示元素 $("li:hidden").show

    :visible 匹配所有的可见元素$("li:visible").hide()   .toggle(3000)慢慢的显示,和隐藏

    -----------------

    6,属性选择器

    [atttibute]; 指定属性的内容 $("div[id]")查找所有含有 id 属性的 div 元素

    [atttibute=value]; 指定属性值为 $("div[color=#ff]"),

    [atttibute!=value]; 指定属性值不为

    [atttibute^=value]; 指定属性值开头

    [atttibute$=value]; 指定属性值结尾

    [atttibute*=value]; 包含指定属性值

    [selector][selector][selector] 满足所有$("input[id][name$='man']")找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的

    ,复合属性选择器,需要同时满足多个条件时使用。

    -----------------

    -----------------

    7,子元素选择器

    :nth-child(index/even/odd):匹配父元素下索引为指定值,或者偶数,或者奇数,索引是从一开始的 $("li:nth-child(3)");所有父元素下,下标为2的li

    :first-child:匹配父元素下第一个子元素

    :last-child匹配在父元素下最后一个子元素

    :only-child在父元素下面只有一个子元素,独生子女

    table>tr*10>td{$}*10  加Tab //$自动排序,里面的内容。可以随意

    ----------------

    8,表单选择器

    :input  所有的表单元素 包含select和textarea

    :text 匹配文本框  $(':text').val()

    :password 密码框

    :radio 单选框

    :checkbox 复选框

    :submit 提交按钮

    :reset 重置按钮

    :image 图像按钮

    :button 普通按钮

    :file 上传文件

    input:hidden 隐藏域

    -----------------

    9,表单对象属性

    :enabled 默认可用的元素

    :disabled 匹配不可编辑的状态(课外。readonly可以传送给后台,和不可以传送给后台)

    :checked 匹配选中的元素 radio checkbox 

    :selected 匹配选中的元素  select

    --------------

    $("table tr:eq("+变量+") td:eq("+变量+")").html("++")

    $('li:eq(2)~li').html("erererwrw");

    --------------

    *****************************************************************

    三,DOM对象与jQuery对象

    通过$('选择器')获取到都是jQuery对象

    通过get~~~获得的都是DOM对象

    DOM对象是以数组元素添加到jQuery对象中-----------

    jquery对象转换为dom对象--------

    jquery[0]  

    jQuery.get(0)

    $("div").click(function(){});

    转为就是加下标或者get(0);

    $("div")[0].onclick=function(){};

    $("div").get(0).onclick=function(){};

    dom对象转换为jQuery对象--------

    $(dom对象)

    var dom_obj=document.getElementById("div");

    $(dom_obj).toggle(3000);

    ----------------------

    1,jQuery对标签属性的操作************

    attr("name"): 获取到指定属性的值 $("img").attr("src")

    attr("key","value"): 设置指定属性的值   $("img").attr("width","200")

    attr(properties): 一次设置多个属性值,要求参数必须是一个json对象attr({src:"image/2.jpg","100"});

    removeAttr("src");

    2.jQuery对class属性的操作

     addClass("class") 添加指定的class属性值 

     removeClass("class")移除指定的class属性值

     toggoleClass(" ")    如果有指定的属性值,则删除,反之添加

    class="class1 class2 class3  "

    hasClass(class属性值)如果有指定的属性值,则返回true,反之,返回false

    -----------------------------------------

    3,jQuery对styl属性的操作

    css("name") 获取指定的css样式的属性值

    css(name,value) 设置指定的cass样式的值

    css(properties) 一次设置多个属性值。必须是jsom写法

     var data={backgroundColor:"#f00","500px;",height:"500px"}

     css(data)

    ---------------------------------------

    4,尺寸

    width():获取指定元素的宽

    width(value)设置指定元素的宽

    height():获取指定元素的高

    height(value)设置指定元素的高

    -----------------------------------------

    5,html 文本/值

    html() 获取双边标记中的内容

    html(value) 设置双边标记中的内容

    val() 获取元素的value属性值

    val(val) 设置元素的value属性值

    text() 获取元素中文本内容,不包含标签

    text(val) 设置元中文本内容,不包含标签

    innerHTML和innerTEXT的区别

    html()可以解析HTML标签

    text()不可以解析HTML标签  有兼容性的区别

    html("<font color='red'>测试</font>")   html()这个颜色会改变,也就是会解析html

    text("<font color='red'>测试</font>")   text()这个颜色不改变,也就是不会解析

    *******************************************

    五,事件编程

    页面载入

    js中所有操作都应该放在页面加载完成后再来操作

    进行页面载入

    jQuery是使用read(fn)的方法来进行加载

    ready(fn)有三种方式

    第一种

    $(document).ready(function(){

    });

    第二种

    $().ready(function(){

    })

    第三种

    $(function(){   只执行一次,所以定时器那些不能放在里面调用,闭包的原理

    });

    window.onload它与ready(fn)速度要慢一些,因为它是边加载边执行的

    -----------------------------------

    单边标记没有获取它的值的,因为它后面写的字是HTML内容。只能获取它的val

    DOM对象是以数组元素的方式添加在jQuery对象中

    select直接 把option写成字符串。然后加入

    var $li=$('<li></li>')  $li前面最好加个$.一这个是¥对象目了然。

    ----------------------------------------------------

    一,事件编程***************************************

    页面载入 read(fn)来进行页面加载$(this)

    基本事件

    事件切换

    事件处理

    --------------

    1 基础事件

    对象。事件=事件处理程序

    对象。事件方法

    jQuery去掉on前缀

    blur(fn) 失去焦点时

    change(fn)当内容发生改变

    click(fn)当鼠标点击时

    focus(fn)当获取焦点时

    keydown(fn)当键盘按下时

    load(fn)当页面加载完成时

    mouseover(fn)当鼠标经过时 下面的hover可代替

    mouseout(fn)当鼠标离开时  下面的out鼠标离开可以代替

    change(fn)当内容改变时

    scroll(fn)当滚动条滚动时

    select(fn)当内容选择时

    submit(fn)当表单提交时

    js的话只能绑定一个事件。,因为后面会覆盖掉。而jq可以很多。

    jQuery中this除了插件机制以外,都是指向dom的

    -------------------

    2,事件切换()

    hover(over,out):表示鼠标经过和鼠标离开

    $("div".hover)(function(){},function(){});

    over:鼠标经过

    out:鼠标离开

    参数要求是一个匿名函数

    toggle(fn1,fn2,fn3....)当鼠标第一次单击时触发第一个fn,第二次单击时,触发第二个fn,以此类推

    -------------------

    3事件绑定

    1.bind(type,[data],fn)对事件进行绑定,要求参数是个json对象

    格式:0

    参数说明

    type:要绑定的事件,事件没有on前缀

    fn:是指事件的处理程序

    主要对事件进行绑定

    $("div").bind('click',function(){

    $(this).css("background","#aaa");

    });

       $("div").bind({ 

    mouseover:function(){

    $(this).css("backgroundColor","#ff0");},

    mouseout:function(){

    $(this).css("backgroundColor","#aaf");},

    });

    2.one(type,[data],fn)对事件进行一次绑定,只绑定一次

    3,unbind([type]):对事件移除绑定

    参数说明:type指事件名,如果不写,就代表移除所有的事件绑定

    如果写了,代表移除指定的事件绑定。

    $("#div").unbind('click');没参数代表移除所有的事件绑定

    有参数代表移除指定的click事件

    二·效果***********************************************

    1基本效果

    hide():将显示的元素隐藏起来

    hide(speed,[callback]):以动画的效果来隐藏,

    show():将隐藏的元素显示出来

    show(speed,[callback]):以动画的效果来显示,

    toggle():,切换,如果这个元素是显示,则隐藏,不然则显示

    toggle(switch):如果这个switch是true则代表显示,不然则代表隐藏

    toggle(speed,[callback]):以动画的效果显示或者隐藏

    speed:是指动画的持续时间

    它也可以使用英文单词来表示

    slow:缓慢

    normal:正常

    fast:飞速

    toggle("fast")

    callback 动画执行完毕后,运行的函数(也就是回调函数)

    ------------------------

    2 滑动效果

    (speed,[callback])

    它也可以使用英文单词来表示

    slow:缓慢

    normal:正常

    fast:飞速

    sideDown()

    向下滑动

    点击事件,调用函数的首地址,hide ,就可以点击,   如果hide()的话,不用点击,直接就打开了

    sideUp

    向上滑动

    sideToggle 滑动切换

    --------------------

    3淡入淡出

    fadeln():淡入

    fadeOut():淡出到指定值

    fadeTo():淡入淡出到指定值

    (speed,[callback])

    它也可以使用英文单词来表示

    slow:缓慢

    normal:正常

    fast:飞速

    opacity 透明度  取值0-1,1显示,0隐藏,中的是半透明

    -------------------------------------------------------------**]

    *文档操作*********************************************************

    插入

     内部插入

     append() 将内容插入到匹配元素内容的最后

     appendTo() 将内容插入匹配的元素内容的前面

     prepend() 把前面的加入到匹配的元素内容最后

     prependTo() 把前面的追加到匹配的元素内容最前

    ------------

    外部插入

     after(content)将内容插入到匹配元素标签的外部的最后

     before 将内容插入到匹配元素标签的外部最前

     insertAfter 将匹配到的元素标签插入到元素的标签外部的最后

     insertBefore 将匹配到的元素标签插入到元素的标签外部的最后

    ----------

    2删除

    empty() 清空内容,保留标签

    remove()移除标签

    detach()

    ----------

    3.复制

    clone([true])克隆

     如果带true 克隆元素本身,同时将事件克隆

     如果不带true,只克隆元素本身

    ------------

    4替换,

    replaceWith()替换  连同标签都替换。

    var $div=$("<div></div>");  创建节点

    然后把 $div.html("内容")

    replaceWith($div);

    -----------

    5包裹

    wrap() 网易盖楼  对元素进行包裹wrap("<div></div>")

    wrapAll() 对所有元素进行包裹,只包裹一次

    wralnner() 对元素进行内部包裹 包裹里面的东西 

    ------------

    6查找

    eq(index)      匹配指定索引的元素

    filter(expr)   过滤,缩小查找的范围

    not(expr) 匹配除了指定元素以外其它的元素

    next([expr]) 查找指定元素的下一个元素

    prev([expr]) 查找指定元素的上一个元素

    parent()

    -------------------------------------------------------------------

    插件机制

    1提出问题

      jQuery.fn.extend(object)或 $.fn.extend(object)

    object必须是一个json对象

    $.fn.extend({

    fn1:function(){

    },

    fn2:function(){

    }

    });

    $(function(){

    $("div").bind("");

    $("div").fn1();

    });

    for(var i=0;i<checkboxs_leng;i++){

    checkboxs_obj[i].checked = !checkboxs_obj[i].checked

    }

    -------------

    this如果是jQuery的话,就可以直接使用

    如果是jQuery操心dom对象的话,就要转换为$(this)

    HTML DOM操作************************************

    1.查找节点----------------

    通过jQuery选择器

    2查找属性节点-------------

    使用arrt方法

    3创建节点-----------------

    jQuery的工厂函数$()

    $(html)方法会根据传入的html标记字符串。创建一个DOM对象

    并将这个对象生成一个jQuery对象后返回

    append()加入节点

    $("<li title='香蕉'>香蕉</li>")

    4创建节点属性---------

    和创建节点类似

    插入节点

    append()

    这些

    5删除节点---------------

    remove();

    empty()

    detach()

    6复制节点-----------如购物网站的,选择购买,和拖动商品就等于复制商品

    clone(true)

    $(this).clone(true).appendTo("body")

    7替换节点

    replaceWith()和replaceAll();

    8包裹节点

        warp()

    warpAll()

    wraplnner()

    ----------------------------------------------------------

    属性操作

    设置属性      attr()

    删除元素属性  removerAttr()

    ----------------------

    样式操作

    1.attr()  这个只能设置一个,多了会覆盖掉前面的

    $("p").attr("class","high")

    2追加样式 这个可以设置多的

    addClass()

    3,移除样式

    removeClass()

    4,切换样式

    toggleClass()

    5,判断是否有某个样式

    hasClass()如果有则返回true,没有的话返回false

    -------------------------------

    html()

    text()

    val()

    -------------------------------

    遍历节点

    1获取所有的子元素, children()方法   然后for

    2 next()  方法  后面的同辈元素

    3 prev()方法   前面的同辈邻居

    4 siblings()     所有的同辈元素

    5 closest()    取得最近的元素,不然向上,没有的话空的对象

    6 parent()父级元素  parents()祖先元素

    CSS-DOM操作****************************

    1,css()方法

    额外的

    1 offset()    元素在当前视窗的相对偏移

     var offset=$("p").offset();

     var left=offset.left;

     var right=offset.right;

    2 position() 获取元素相对于最近的一个position样式属性

    设置为relative或者absolute的祖先节点的相对偏移

     var position=$("p").position();

     var left=position.left;

     var right=position.right;

    3 scrollTop() 和 scrollLeft()方法

      获取元素滚动条距离顶端的距离和距离左边的距离

    ***************************************

    加载DOM

    1 执行机制

    老师讲的3个还有一个

    $(window).load(function(){   })

    等于 window.onload=function(){}

    -----------------

    2 事件绑定105页

    bind()

    可以把 click()和mouserover()和mouseout()绑定一起

    ----------------

    3 合成事件

    hover()鼠标悬浮事件

    toggle()鼠标连续点击

    ---------------------

    4 事件冒泡,比如div有点击事件,里面的span也有点击事件

      点击了的话,会导致事件错误 11页

    stopPropagation() 停止事件冒泡

    preventDefault()  阻止默认行为  可以阻止表单提交,

    在表单中,也可以 return false;

    ---------------

    5 事件对象的属性

     1 event.type

     2 event.preventDefault()方法 阻止表单提交

     3 event.stopPropagation() 阻止事件冒泡

     4 event.target 获取触发事件的元素

     5 event.relatedTarget

     6 event.pageX 和 event.pageY获取光标相对于页面的X坐标和Y坐标

     7 event.which获取鼠标的左中右键,获取键盘的按键

     8 event.metaKye为键盘事件中获取<Ctrl>按键

    -------------------

    6 移除事件

     unbind([type],[data])

     one()  只执行一次,然后立即删除

    **************************************

    模拟操作119

    tigger("")触发自定义事件还可以传递数据

    triggerHander()

    bind()方法 1 绑定多个事件类型

       2 添加事件命名空间 便于管理

         这样一删除命名空间的话,只把这个空间里面的

    事件删除,不在这个命名空间里面的没事

    *****************************************

    jQuery中的动画

    1,show()   里面数字,代表秒数 显示 hide() 隐藏

    2,fadeIn()方法和fadeOut()方法  改变内容的不透明度

    3,slideUp()和slideDown()      改变元素的高度,缩短隐藏

    4,animate()自定义动画,125页

    5  stop()停止动画

    其他的交互动画方法

    toggle() 切换

    slide Toggle() 高度

    fadeTo() 不透明度

    fadeToggle() 不透明度切换

    width()获取宽度

    ---------------------------

    js的getAttribute 获取属性

    jQ的attr 获取/设置普通属性  prop  获取/设置 对象属性  jq里面布尔值

    disabled="disabled"     js的对象.属性只能获取内置属性(不兼容)

    obj.getAttribute('自定义属性');

    data-abc  data开头的自定义属性

    .data('')

    $.get(地址,数据,回调方法)

    --------------------------------------

    //针对当前页中的静态对象有效,页面第一次加载,有效,后来加进来的,无效

    $().click(); 

    //

    $().on();

    //针对当前页中的静态对象和以后动态创建的对象有效

    $('#box').live();//相当于绑定在body那里   live 1.7以上被清除了

    $(document).live();//相当于绑定在整个文档对象那里  live 1.7以上被清除了

    $(DOM)=>JQ

    JQ=>DOM

    $()[0]

    jq

    var $a=

    DOM

    var  a=

    function js(obj)

    {

    obj.innerHTML--;

    }

    //js的默认值必须这样

    function test(a)

    {

    a=a?a:1;

    }

    function test(a,b)

    {

    a=a?a:1;

    b=b?b:1;

    }

    //通过js创建的就是动态的

    //源代码就能看到的,html里面的

    ----------------------------------

    高阶

    function f1(){

    $.ajax({

    'type':'post',

    'url':'09-juqery.php',

    'data':'name=xiaoming&age=4',

    'dataType':'json',

    //请求成功处理的回调函数

    'success':function(msg){alert(msg);},

    //发送之前的处理函数

    'beforeSend':function(){}

    //发送之前的处理函数

    'complete':function(){}

    //发送之前的处理函数

    '':function(){}

    })

    }

    //------------------------------

    $(function(){

    var ids=[];

    $('#del').click(function(){

    //alert($('[name="id[]"]:checked')).length;

    ($('[name="id[]"]:checked')).each(function(index,element){

    //ids[index] =element.value;

    ids.push(element.value);

    });

    alert(ids.join(','));//split(',')   explode() implode()

    location='delete/ids/'+ids;

    });

    });

    $(function(){

    var ids=[];

    $('#del').click(function(){

    $('[name="id[]"]:checked').each(function(index,element){

    ids.push(element.value);

    });

    if(ids.length>0 && confirm('确定要删除吗')){

    var url='__CONTROLLER__/delete/ids/'+ids.join(',');

    location=url;

    }

    });

    });

    ------------------------------

    function show()

    {

    $.get('{:U("content")}',{p:1,per:1},function(data){

    $('#list').html($data);

    })

    }

    $(function(){

    show();

    $("tbody").find("tr:odd").css("backgroundColor","$eff6fa");

    });

    ----------------------------------

    <?php

    解决兼容性问题

    function createXhr(){

    //在W3C中.

    try{return new XMLHttpRequest()} catch(e) {}

    //IE

    try{ return new ActiveXObject('Microsoft.XMLHTTP')} catch(e) {}

    alert('你的浏览器不支持Ajex');

    }

    AJAX get请求5步走

    1:创建ajax对象

    2:设置回调函数

    3:初始化ajax对象

    4:发送ajax对象

    5:判断与执行

    window.onload=function(){

    //获取事件

    //(document.getElementById(xx)获取事件

    $('GO').onclick=function(){

    var one=$('one').value;

    var two=$('two').value;

    var xhr=new XMLHttpRequest();

    //设置回调

    xhr.onreadystatechange= function(){

    if(xhr.readyState==4 && xhr.status==200){

    alert(xhr.responseText);

    }

    }

    //设置头信息

    var url ='02.php?&one=' + one + '&two=' + two + '&_=' + Math.getHouse()';

    //初始化ajax

    xhr.open('get',url);

    //发送ajax对象

    xhr.send(null);

    }

    }

    Ajax六步走

    第一步:创建Ajax对象

    第二步:设置回调函数

    第三步:初始化Ajax对象

    第四步:设置请求头信息

    第五步:发送Ajax请求

    第六步:判断与执行

    window.onload=function(){

    $('xxx').onblur=function(){

    var username = $('username').value;

    //1创建ajax对象

    var xhr=createXhr();

    //2.设置回调函数

    xhr.onreadystatechange=function(){

    }

    //3.初始化Ajax对象

    xhr.open('post','xxx.php');

    //4.设置请求头

    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');

    //5.发送Ajax请求

    var data='username=' + username;

    xhr.send(data);

    }

    }

    通过JQ使用AJAX

    $.ajax({

    url : 'xxx.php',

    type: 'get',

    data: {a:a,b:b},

    success: function(){

    //回调函数

    }

    })

    ----------------------------------

     2. 完成属性可选值的禁用与否

        $("input[name=attr_input_type]").click(function(event) {

           

            var _status = $(this).val();

            if(_status == 0){

                // 手工

                $("#content").attr('disabled',true);

            }else{

                // 列表

                $("#content").attr('disabled', false);

            }

        });

  • 相关阅读:
    yolo2 anchor选择校招总结
    rfcn校招总结
    cascade rcnn
    sort论文和代码解读
    重要的观点
    代办项
    stixel上边缘
    resnet densenet
    最小二乘法和线性回归
    逻辑回归原理
  • 原文地址:https://www.cnblogs.com/wujunbin/p/7445832.html
Copyright © 2011-2022 走看看