美文网首页
2020-11-23

2020-11-23

作者: 二荣xxx | 来源:发表于2020-11-23 15:58 被阅读0次

关于jQuery

jQuery是目前世界上最长寿且使用最广泛的库,虽然现在它已经不火了,但是它的一些设计思想还是可以作为学Vue和react的之前的过渡来学学的。
jQuery不是严格意义上的构造函数,理由:jQuery确实构造出了对象,但是没用new方法

前言(别名)

以下都是用的别名

window.$=window.jQuery //相当于给jQuery添加一个别名'$'
$.fn=$.prototype //相当于给prototype添加一个别名'fn'

术语

jQuery对象指代jQuery函数构造出来的对象
Object对象指代Object函数构造出来的对象
Function和Array以此类推

技巧(概念)

封装:即隐藏对象的属性和实现细节,仅对外公开接口。
重载:根据不同的参数写不同的代码
适配器:针对不同的环境(浏览器)写不同的代码

一、链式风格

$('div').find('h3').eq(2).html('Hello');
分解:
$('div') //找到div元素
   .find('h3') //选择其中的h3元素
   .eq(2) //选择第3个h3元素
   .html('Hello'); //将它的内容改为Hello

这是jQuery最令人称道、最方便的特点。它的原理在于每一步的jQuery操作,返回的都是一个jQuery对象,所以不同操作可以连在一起

二.end()方法

 $('div')
   .find('h3')
   .eq(2)
   .html('Hello')
   .end() //退回到选中所有的h3元素的那一步

三、取值赋值

$('h1').html(); //html()没有参数,表示取出h1的值
$('h1').html('Hello'); //html()有参数Hello,表示对h1进行赋值
常用:
.html() //取出或设置html内容
.text()//取出或设置text内容
.attr()//取出或设置某个属性的值
.width()//取出或设置某个元素的宽度
.height()//取出或设置某个元素的高度
.val()//取出某个表单元素的值

注意:如果结果集包含多个元素,那么赋值的时候,将对其中所有的元素赋值;取值的时候,则是只取出第一个元素的值( .text() 例外,它取出所有元素的text内容)

四、元素的移动

有两种方法,一组方法是直接移动该元素(返回div元素),另一组方法是移动其他元素(返回p元素),使得目标元素达到我们想要的位置。(操作视角的不同)

把div元素移动p元素后面:
$('div').insertAfter($('p'));//返回div元素

把p元素加到div元素前面:
$('p').after($('div'));//返回P元素

1、查
$('#xxx')的返回值并不是一个元素,而是一个对象
$('#xxx').find('.red')//查找#xxx里的.red元素
$('#xxx').parent()//获取父节点
$('#xxx').children()//获取子节点
$('#xxx').siblings()//获取所有同级节点
$('#xxx').index()//获取此节点索引
$('#xxx').next()//获取下一个节点
$('#xxx').prev()//获取上一个节点
$('.red').each(fn)//遍历并对每个元素执行fn
2、增
$(<div><span>1</span></div>).appendTo(document.body)
//创建div并插入到body中
3、删
$div.remove()//删除节点
$div.empty()//清空节点
4、改
$div.text(?)//读写文本内容
$div.html()//读写HTML内容
$div.attr('title',?)//读写属性
$div.css({color:'red'})//读写style
$div.addClass('blue')//添加class属性
$div.on('click',fn)//增添点击事件
$div.off('click',fn)//关闭点击事件

注意:$div大部分时候对应对个div元素,使用时最好遍历一下

五、使用原型

把共用属性(函数)全部放到$.prototype上

$.fn=$.prototype
api.__proto__指向$.fn //api.__proto__=jQuery.prototype

相关文章

网友评论

      本文标题:2020-11-23

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