call和apply

call和apply

call和apply的区别

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

aa.call('abc',2,3);

aa.apply('abc',[2,3]);

函数的继承

//父类

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);

}

新增选择器


window.onload = function(){

var div1 = document.querySelector('#div1');

alert(div1);

var li = document.querySelectorAll('.list li');

alert(lis.length);

}

为什么要是使用jquery    因为js原生代码不具有兼容性,并且jquery 已经封装好了。

jQuery加载

$(document).ready(function(){

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

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

//jquery:这是一个div元素

})

$(function(){

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

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

})

jQuery选择器

jquery选择器可以快速地选择元素,选择规则和css样式相同,使用length属性判断是否选择成功

$(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样式操作


// 获取div的样式

$("div").css("width");

$("div").css("color");

//设置div的样式

$("div").css("width","30px");

$("div").css("height","30px");

$("div").css({fontSize:"30px",color:"red"});

操作样式类名

$("#div1").addClass("divClass2") //为id为div1的对象追加样式divClass2

$("#div1").removeClass("divClass")  //移除id为div1的对象的class名为divClass的样式

$("#div1").removeClass("divClass divClass2") //移除多个样式

$("#div1").toggleClass("anotherClass") //重复切换anotherClass样式

click事件

$(function(){

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

$('.box').toggleClass('sty');

});

})

jQuery索引值

$(function(){

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

//alert(this.innerHTML);原生

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

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

})

})

jQuery做选项卡

$(function(){

$('#btns input').click(function(){

$(this).addClass('cur').siblings().removeClass('cur');

$('#contents div').eq($(this).index()).addClass('active').siblings().removeClass('active');

});

})

jQuery属性操作

$(function(){

//alert($('.box').html());读

  //$('.box').html('百度网')写

  //用于读取和写入属性

  //$('.box').attr({title:"这是一个div!"});

//alert($('.box').attr('class'));

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

alert($src);

$('#img1').attr({

src:"images/123.jpg",

alt:"图片"

});

alert($('#check').prop('checkbox'));

alert($('.box2').html())//带标签

  alert($('.box2').text())//不带标签

})

jQuery特殊效果

$(function(){

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

$('.box').fadeOut();

$('.box').fadeIn();

$('.box').fadeToggle();//淡入淡出

  $('.box').hide();

$('.box').show();

$('.box').toggle();//显示隐藏

  $('.box').slideUp();

$('.box').slideDown();

$('.box').slideToggle();//上收下展

  });

})

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容