jQuery设计思想

106 阅读2分钟
导读

相比于vue、react等前端javascript函数库,jQuery函数库使用最为广泛。下面我将根据我自己学习jQuery收获,写一点自己的笔记。


【目录】
1. 选择网页元素
2. 改变结果集
3. 链式操作
4. 元素的操作:取值和赋值
5. 元素的操作:移动
6. 元素的操作:复制、删除和创建
7. 工具方法
8. 事件操作
9. 特殊效果
【正文】
  • jQuery通过选择器获取到元素,然后内return一个对象,该对象中封装的API可以对选择器获取到的元素进行操作,然后API通过暴露接口的方式实现外部调用。代码如下:
window.jQuery = function(`.test`){
    const elements = document.querySelector('.child')
    return {
        find(){
        ...
            return this
        }
    }
}
  1. jQuery如何获取元素 使用jQuery的第一步,就是将一个选择表达式,放进构造函数jQuery(),通过window.=window.jQuery(如下jQuery简称 = window.jQuery(如下jQuery简称)。通过选择器,$可以得到选择选择的元素。选择器表达式可以是CSS选择器:
$(document) //选择整个文档对象
$('#myId')//选择ID为myId的网页元素
$('div.myClass')//选择class为myClass的网页元素
$('input[name=first]')//选择name属性等于first的input的元素

也可以是jQuery特有的表达式:

$('a:first')//选择网页中第一个a元素
$('tr:odd')//选择表格的奇数行
$('#myForm:input')//选择表单中的input元素
$('div:visible')//选择可见的div元素
$('div:gt(2)')//选择所有的div元素,出了前3个
$('div:animated')//选择当前处于动画状态的div元素

2. jQuery的链式操作是怎样的
jQuery对选中元素的一系列操作可以连在一起,如:
$('div').find('h2').eq(2).html('hello')
3.jQuery如何创建元素
创建元素的方法比较简单,直接用 $(`< p>hello< /p>`)。即直接把新元素传入jQuery的构造函数就可以了
4. jQuery如何移动元素
有两种方法:一是直接移动该元素,第二种方法是移动其他元素,使得目标元素达到我们想要的位置。
假定我们选中了一个div元素,需要把它移动到p元素后面
代码如下:
$('div').insertAfter($('p'));
//方法2
$('p').after($('div'))
//这两种方法有一个区别:第一种方法返回div元素,第二种方法返回p元素。
这种模式的操作方法有4组:
.insertAfter()和.after():在现存元素的外部,从后面插入元素
.insertBefore()和before():在现存元素的外部,从前面插入元素
.appendTo()和.append():在现存元素的内部,从后面插入元素
.prependTo()和.prepend():在现存元素的内部,从前面插入元素

5. jQuery如何修改元素的属性
.className()//为每个匹配的元素添加指定的样式类名
.attr()//获取匹配的元素集合中的第一个元素的属性的值。设置每一个匹配元素的一个或多个属性
.hasClass()//确定任何一个匹配元素是否有被分配给定的类
.html()//获取集合中第一个匹配元素的html内容,设置每一个匹配元素的html内容
.prop()//获取匹配的元素集合中第一个元素的属性值,为匹配的元素设置一个或多个属性
.removeAttr()//为匹配的元素集合中的每一个元素移除一个属性
.removeClass()//移除集合中每个元素上一个、多个或全部样式
.removeProp()//为集合中匹配的元素删除一个属性
.toggleClass()//在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或者切换属性。即:如果存在(不存在)就删除(添加)一个类
.val()//获取匹配元素集合中的第一个元素的当前值。设置匹配的元素集合中每一个元素的值