美文网首页
call和apply、函数的继承、新增选择器、jQuery加载、

call和apply、函数的继承、新增选择器、jQuery加载、

作者: 琉佳 | 来源:发表于2019-11-01 11:33 被阅读0次

    call和apply:二者都可以改变当前的this,区别在于apply方法要将参数放入数组中再传参

    函数的继承:

    function Fclass(name, age){

    this.name = name;

    this.age = age;

    }

    Fclass.prototype.showName = function(){

    alert(this.name);

    }

    Fclass.prototype.showAge = function(){

    alert(this.age);

    }

    //子类

    function Sclass(name, age, job){

    // 调用父类的call方法并传入子类的this,可实现属性的继承

    Fclass.call(this,name,age);

    this.job = job;

    }

    // 方法继承:将父类的一个实例赋值给子类的继承

    Sclass.prototype = new Fclass();

    Sclass.prototype.showJob = function(){

    alert(this.job);

    }

    var Driver = new Sclass('tom',18,'老司机');

    Driver.showName();

    Driver.showAge();

    Driver.showJob();

    新增选择器:

    document.querySlector()    选择一个

    document.querySlectorAll()  选择一类

    jQuery加载:

    将获取元素的语句写到页面头部,会因为元素还没有加载而出错,jquery有ready方法解决

    //JS写法

    window.onload = function(){

    var div = document.getElementById('div');

    alert(div.innerHTML);

    }

    //JQ写法

    $(document).ready(function() {

    var $div = $('#div');

    alert('jquery:' + $div.html());

    })

    //简写

    $(function(){

    var $div = $('#div');

    alert('jquery:' + $div.html());

    })

    jQuery选择器:

    $(document) //选择整个文档对象

    $('li') //选择所有的li元素

    $('#myId') //选择id为myId的网页元素

    $('.myClass') // 选择class为myClass的元素

    $('input[name=first]') // 选择name属性等于first的input元素

    $('#ul1 li span') //选择id为为ul1元素下的所有li下的span元素

    对选择集进行修饰过滤(类似CSS伪类)

    $('#ul1 li:first') //选择id为ul1元素下的第一个li

    $('#ul1 li:odd') //选择id为ul1元素下的li的奇数行

    $('#ul1 li:eq(2)') //选择id为ul1元素下的第3个li

    $('#ul1 li:gt(2)') // 选择id为ul1元素下的前三个之后的li

    $('#myForm :input') // 选择表单中的input元素

    $('div:visible') //选择可见的div元素

    对选择集进行函数过滤

    $('div').has('p'); // 选择包含p元素的div元素

    $('div').not('.myClass'); //选择class不等于myClass的div元素

    $('div').filter('.myClass'); //选择class等于myClass的div元素

    $('div').first(); //选择第1个div元素

    $('div').eq(5); //选择第6个div元素

    选择集转移

    $('div').prev('p'); //选择div元素前面的第一个p元素

    $('div').prevAll('p'); //选择div元素前面所有的p元素

    $('div').next('p'); //选择div元素后面的第一个p元素

    $('div').nextAll('p'); //选择div元素后面所有的p元素

    $('div').closest('form'); //选择离div最近的那个form父元素

    $('div').parent(); //选择div的父元素

    $('div').children(); //选择div的所有子元素

    $('div').siblings(); //选择div的同级元素

    $('div').find('.myClass'); //选择div内的class等于myClass的元素

    jQuery样式操作:

    //读取样式

    alert($('.div1').css('fontSize'));

    //设置样式

    $('.div1').css({background:'gold'});

    //增加行间样式

    $('.div1').addClass('big');

    //减少行间样式,多个样式用空格分开

    $('.div1').removeClass('div1');

    click事件:

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

    $('.box').toggleClass('sty');  //切换样式

    });

    jQuery索引值:

    $('.list li').click(function(){

    // alert(this.innerHTML);

    // alert($(this).html());

    alert($(this).index());

    });

    jQuery属性操作:

    html()

    // 取出html内容

    var $htm = $('#div1').html();

    // 设置html内容

    $('#div1').html('<span>添加文字</span>');

    text()

    // 取出文本内容

    var $htm = $('#div1').text();

    // 设置文本内容

    $('#div1').text('<span>添加文字</span>');

    attr():

    // 取出图片的地址

    var $src = $('#img1').attr('src');

    // 设置图片的地址和alt属性

    $('#img1').attr({ src: "test.jpg", alt: "Test Image" });

    jQuery特殊效果:

    fadeIn() 淡入

    fadeOut() 淡出

    fadeToggle() 切换淡入淡出

    hide() 隐藏元素

    show() 显示元素

    toggle() 依次展示或隐藏某个元素

    slideDown() 向下展开

    slideUp() 向上卷起

    slideToggle() 依次展开或卷起某个元素

    jQuery链式调用

    $('#div1') // id为div1的元素

    .children('ul') //该元素下面的ul子元素

    .slideDown('fast') //高度从零变到实际高度来显示ul元素

    .parent()  //跳到ul的父元素,也就是id为div1的元素

    .siblings()  //跳到div1元素平级的所有兄弟元素

    .children('ul') //这些兄弟元素中的ul子元素

    .slideUp('fast');  //高度实际高度变换到零来隐藏ul元素

    #ljh笔记整理原创首发,请支持,勿抄袭

    相关文章

      网友评论

          本文标题:call和apply、函数的继承、新增选择器、jQuery加载、

          本文链接:https://www.haomeiwen.com/subject/bmjfbctx.html