• jq基础


    l$()下的常用方法
    •has()
    •not()
    •filter()
    •next()
    •prev()
    •find()
    •eq()
    •index()
    •attr()
    •addClass()   removeClass()
    •width()   innerWidth()   outerWidth()
    •insertBefore()  before()
    •insertAfter()   after()
    •appendTo()   append()
    •prependTo()   prepend()
    •remove()
    •on()  off()
    •scrollTop()
    •ev  pageX  which 
    •preventDefault  stopPropagation
    •one()
    •offset()  position()
    •offsetParent()
    •val()
    •size()
    •each()
    •hover()
    •show()  hide()
    •fadeIn()   fadeOut()
    •fadeTo()
    •slideDown()   slideUp()
    •get()  :   下标和length属性
    •outerWidth()  :   针对隐藏元素和参数true
    •text()   :   合体的特例
    •remove()  :  detach()
    •$()   :  $(document).ready()
    •parents()   closest()
    •siblings() 
    •nextAll()  prevAll()
    •parentsUntil()   nextUntil()   prevUntil()
    •clone()
    •wrap()  wrapAll()  wrapInner()  unwrap()
    •add()  slice()
    •serialize()    serializeArray()
    •animate()
    •stop()
    •delay()
    •delegate()   undelegate()
    •trigger()
    •ev.data    ev.target   ev.type
    •type()
    •trim()
    •inArray()
    •proxy()
    •noConflict()
    •parseJSON()
    •makeArray()
    •ajax() :  json形式的配置参数
    –url    success
    –error   contentType
    –data     type
    –dataType    cache     timeout
    •抽象出来的方法
    –get()
    –post()
    –getJSON()
    »支持jsonp的形式:指定?callback=?
    l插件
    •$
    –$.extend
    •$.fn
    –$.fn.extend
    •$.Callbacks()    :   回调对象
    •deferred()  :  延迟对象
    •$.hodeReady()   :  持有和释放ready
    •$.dequeue()  :  执行队列
    •$.support  :   功能检测
     

    1、alert($('li').html);//当一组元素d时候,取值是一组中的第一个

      $('li').html('hello');//当一组元素的时候,赋值是一组中的所有元素

    2、  width()  :width

       innerWidth() :width+padding

      outerWidth():width+padding+border

      outerWidth(true):width+padding+border+margin

    3、on():可以用json形式来写,给一个对象定义多个事件

      $('div').on({

        'click':function(){},

        'mouseover':function(){}

      });

     on():可以使两个事件一块连着写,但是实现的效果是一样的

     $('div').on('click mouseover',function(){

     });  

    4、off():

     $('div').on('click mouseover',function(){

      $('div').off();//执行一次事件后,会把两个事件都关掉。

      $('div').off('click');//只会把click事件关掉。

      }); 

      one():与on()的用法一样,只是只执行一次就不再执行了。

    5、$(window).scrollTop();

    6、$(function(){});相当于 window.onload=function(){};

    7、$('div')表示选择div元素

    8、$('<div>')表示创建一个div元素

    9、JQ中  ev.pageX(相对于文档的)

       js中 ev.clientX(相对于可视区的)  ---可视区+滚动条的距离=文档

    10、JQ中 ev.which:可以记录键盘键值,也可以记录鼠标的键值,左击键,右击键,鼠标滚轮等

      js中   ev.keycode:只是键盘键值

    11、preventDefault():阻止默认事件

        stopPropagation():阻止冒泡事件

      JQ中的  return false;   既阻止默认事件又阻止冒泡事件

    12、$('#div1').offset().left();//获取该对象到屏幕的左距离

      div1.offsetleft获取的值取决于当前该对象的父级是否为定位,如果没有定位,则获取的是到屏幕的距离,如果父级定位,则获取的是到父级的左距离

    13、$('#div1').position().left();//相当于把该元素定位,获取的值取决于当前该对象的父级是否为定位,如果没有定位,则获取的是到屏幕的距离,如果父级定位,则获取的是到父级的左距离。----注意,该对象的margin值不算在内,也就是说整个该元素(包括margin,padding,)的总体,边界距离父级的左距离。

    14、parent:获取父级

      offsetparent:获取有定位的父级

    15、$('input').val():获取value的值

      $('input').val(111):给该元素的value赋值

    16、$('li').size();获取li标签的个数与length作用一样

    17、$('li').each(function(i,elem){//一参:下标  二参:每个元素

      });

    18、hover():特点,移入移出可以一起写

    $('#div1').hover(function () {
    $(this).css('background','blue');//鼠标移入事件
    },function () {
    $(this).css('background','red');//鼠标移出事件
    });

    19、hide():可以用时间来控制隐藏,还是渐变动画效果

      $('#div2').hide(1000);

    20、fadeIn()与fadeOut();

      $('#div2').fadeIn(1000);淡入

      $('#div2').fadeIn(1000);淡出

    21、slideDown()与slideUp()

      $('#div2').slideDown();//向下展开动画
      $('#div2').slideUp();//向上卷起动画

    22、fadeTo()://作用可以把元素的不透明度以渐进的方式调整到指定值

      $('#div2').fadeTo(1000,0.1);//第一个参数为时间,第二个参数为透明度

    23、get();方法就是把JQ转成原生js,get()口号中没有下标表示该元素的整体,

      $('#div1').get(0).html();//即使是id也需要下标

      $('li').get().length;//先转换为li标签集合,再算集合长度

      $('li').length;//jq中本身有lengh函数

    24、offsetWidth:获取不到隐藏元素的值

      outerWidth():不管显示还是隐藏,都可以获取到元素的值

    25、$('div').html():获取的是所有div元素中的第一个而且获取的内容为:只要在第一个div标签内写的东西都会获取到,比如内嵌的标签,但是赋值的话,是给所有div元素赋值 。

    26、 $('div').text():会把所有div中的内容获取到,不包含嵌套标签本身  ,标签的内容也会获取到                

    27、$('div').remove();会把目前div中的所有都删除,包括div的各种事件操作行为,即使在删除之后又添加div,但是对于之前对div设置的事件操作行为都不起作用了

    28、$('div').detach(); 跟remove方法一样,只不过是会保留删除这个元素的操作行为

    29、$(function(){});//等DOM加载完就可以执行了,比原生js使用的window.onload=function(){}要加载的快,性能好

      $(document).ready(function(){});同$(function(){});一样

    30、parents():获取当前元素的所有祖先节点,参数就是筛选功能

    31、closest():获取最近的指定的祖先节点(包括当前元素自身),必须要写筛选的参数

    32、siblings():获取当前元素的所有兄弟节点,参数就是筛选功能,不包括自身

    33、nextAll():获取当前元素下面的所有节点,不包括自身

    34、prevAll():获取当前元素上面的所有节点,不包括自身

    35、nextUntil():如果不写参数,和nextAll()一样,加参数的话,就是到参数位置截至,不包括参数位置

    36、prevUntil():同上,相反

    37、appendTo():与截切粘贴的功能差不多,把该节点转移到另一个节点下

    38、clone():与复制粘贴差不多,把该元素克隆一份,放到另一个节点下面。可以接收一个参数true,作用可以复制之前的操作行为。.clone(true);

    39、wrap():在该元素的外面包装一个标签

      $('span').wrap('<div>');//在span标签外套一个div标签,即<div><span><span><div>

    40、wrapAll():整体包装。

      $('span').wrap('<div>');//所有的span整体加一个div---存在的一个问题,就是在选择的所有span元素中间夹着的其他标签会被移到它们下面,改变原来的布局

    41、wrapInner():在wrap内部包装

    42、unwrap():删除包装(删除父级,不包括body)

    43、add();使元素任意组合

      var elem=$('div');

      var elem2=elem.add('span');

      elem2.css('background','yellow');//会把div标签和span标签都加背景颜色

    44、slice():截取数组集合范围

    45、serialize():将集合的value值串联为字符串

    46、serializeArray():将集合的value值串联为数组,json格式的数组

    47、animate():

      第一个参数是运动的值和属性,

      第二个参数是时间(运动的快慢),

      第三个参数为运动形式(默认两种:swing(慢快慢),linear())

      第四个参数为回调函数

    $('#div1').click(function () {
    $(this).animate({300},2000,'linear',function () {
    $(this).animate({height:300,2000});
    });
    // $(this).animate({300},2000).animate({height:300},2000);//两种方法执行的效果一样
    });

    48、stop():默认只会阻止当前运动,如果stop(true),加一个参数true,则会不仅会阻止当前运动,还会阻止后续操作。如果加两个参数,stop(true,true);则会立即停止当前运动,并到达这个运动的指定目标位置,而不是后续所有运动的目标点

    49、finish():会立即停止到所有指定目标点

    50、delegate():事件委托,添加在父节点上,可以省去循环,提高性能

      $('ul').delegate('li','click',function(){

        this.style.background='red';

      });

    51、undelegate():阻止事件委托

    52、trigger():主动触发

    $('#div1').on('show',function () {
    alert(123);
    });
    $('#div1').trigger('show');//主动触发show函数

    53、ev.data事件的传的数据

      ev.target:事件的内容

      ev.type:事件类型  

    54、$().css()  $().html  $().val():只能给JQ对象用

      $.XXX()  $.ZZZ()等类型的不仅可以给JQ用,也可以给JS用:叫做工具方法

    55、$.type();可以判断更多的类型,可以识别出数组,null,正则等而不像js中typeof 这些都会返回object

    56、$.trim():可以去掉前后空格

    57、$.inArray():类似于indexof

    58、$proxy():改变this指向的。

      function show(n1,n2){

        alert(this);

      }

      $.proxy(show,document,3,4)();//第二个参数是要改变的指向,再后面的参数就是函数的传参了。在后面的括号也可以传参,但是里面传参的好处是调用事件触发后才执行,在后面括号里传参是直接就执行了

    59、$.noConflict():防止冲突的,相当于引用功能,多一个名字。var a=$.noConflict();//a就相当于JQ中$

    60、$.pareseJSON():将字符串转化为json类型

    61、$.makeArray():可以将类数组转化为数组,像得到的li标签集合

    62、$.extend():扩展工具方法下的插件形式   $.XXX()  $.YYY()

      $.fn.extend():扩展到JQ对象下的插件形式 $.().XXX()  $.().YYY()

      例1:添加去字符串左空格的工具方法,和去右空格的工具方法,可以$.leftTrim();调用

        $.extend({
          leftTrim:function (str) {
          return str.replace(/^s+/,'');
          },
          rightTrim:function (str) {
          return str.replace(/s+$/,'');
          }
       });

      例2:添加拖拽方法  可以用$('#div').drag();调用

    $.fn.extend({
    drag:function () {
    var disX=0;
    var disY=0;
    var This=this;
    this.mousedown(function (ev) {
    disX=ev.pageX-$(this).offset().left;
    disY=ev.pageY-$(this).offset().top;
    $(document).mousemove(function (ev) {
    This.css('left',ev.pageX-disX);
    This.css('top',ev.pageY-disY);
    });
    $(document).mouseup(function () {
    $(this).off();
    });
    return false;
    });
    }
    });
  • 相关阅读:
    Linux安装Docker
    Api接口防攻击防刷注解实现
    Api接口鉴权注解实现
    RSA加解密 Java
    Windows安装Mysql 5.7
    Mysql创建自增序列
    new String与toString的区别
    各排序算法复杂度及稳定性
    描述快排以及其复杂度
    innodb和myisam的区别
  • 原文地址:https://www.cnblogs.com/yuxingyoucan/p/5788993.html
Copyright © 2020-2023  润新知