jQuery的基本设计思想和主要用法,就是”选择某个网页元素,然后对其进行某种操作”。
使用jQuery的第一步,往往就是将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中的元素。
可以通过以下代码简单实现获取元素的功能
window.$ = window.jQuery = function(selector) {
const elements = document.querySelectorAll(selector);
}
//它可以接收
$(document) //选择整个文档对象
$('#myId') //选择ID为myId的网页元素
$('div.myClass') // 选择class为myClass的div元素
$('input[name=first]') // 选择name属性等于first的input元素
就是最终选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来,笼统地说原理是把返回的值指定为自己本身,那么就可以一直使用内置的函数,一环扣一环地去使用
比如:
$('#test').find('.child').addClass('hello')
//用api接收分解开来就是这样的
const api=$('#test')
api.find('.child')
api.addClass('hello')
创建新元素的方法非常简单,只要把新元素直接传入jQuery的构造函数就行了:
$('.tennki').append($('<div>天气不错</div>'))
$('<div>123123</div>').appendTo(document.body)
$('<div>321321321</div>').appendTo($('.tennki'))
提供两组方法,来操作元素在网页中的位置移动。一组方法是直接移动该元素,另一组方法是移动其他元素,使得目标元素达到我们想要的位置。
假定我们选中了一个div元素,需要把它移动到p元素后面。
第一种方法是使用.insertAfter(),把div元素移动p元素后面:
$('div').insertAfter($('p'));
第二种方法是使用.after(),把p元素加到div元素前面:
$('p').after($('div'));
它们有一个重大差别,那就是返回的元素不一样。第一种方法返回div元素,第二种方法返回p元素。你可以根据需要,选择到底使用哪一种方法。
使用这种模式的操作方法,一共有四对:
.insertAfter()和.after() //在现存元素的外部,从后面插入元素
.insertBefore()和.before() //在现存元素的外部,从前面插入元素
.appendTo()和.append() //在现存元素的内部,从后面插入元素
.prependTo()和.prepend() //在现存元素的内部,从前面插入元素
用添加类名的功能作为说明 逻辑是先获取到想要修改属性的元素,然后这此些元素上添加类名
$('#test').addClass('helloworld')
//通过document.querySelectorAll(selector); 获取所有id为test的元素,
//这时得到一个伪数组,然后遍历这个伪数组,为它里面的每一个元素添加上className
jQuery设计模式代码:https://github.com/wdnmd1099/All-My-note/tree/main/jQuery%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F