Kasan Blog

jQuery 如何获取元素

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元素

jQuery 的链式操作是怎样的

就是最终选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来,笼统地说原理是把返回的值指定为自己本身,那么就可以一直使用内置的函数,一环扣一环地去使用

比如:

$('#test').find('.child').addClass('hello')
//用api接收分解开来就是这样的
const api=$('#test')
api.find('.child')
api.addClass('hello')

jQuery 如何创建元素

创建新元素的方法非常简单,只要把新元素直接传入jQuery的构造函数就行了:

$('.tennki').append($('<div>天气不错</div>')) 

$('<div>123123</div>').appendTo(document.body)

$('<div>321321321</div>').appendTo($('.tennki'))

jQuery 如何移动元素

提供两组方法,来操作元素在网页中的位置移动。一组方法是直接移动该元素,另一组方法是移动其他元素,使得目标元素达到我们想要的位置。

假定我们选中了一个div元素,需要把它移动到p元素后面。

第一种方法是使用.insertAfter(),把div元素移动p元素后面:

$('div').insertAfter($('p'));

第二种方法是使用.after(),把p元素加到div元素前面:

$('p').after($('div'));

它们有一个重大差别,那就是返回的元素不一样。第一种方法返回div元素,第二种方法返回p元素。你可以根据需要,选择到底使用哪一种方法。

使用这种模式的操作方法,一共有四对:

      .insertAfter().after()   //在现存元素的外部,从后面插入元素

      .insertBefore().before() //在现存元素的外部,从前面插入元素

      .appendTo().append()     //在现存元素的内部,从后面插入元素

      .prependTo().prepend()   //在现存元素的内部,从前面插入元素

jQuery 如何修改元素的属性

用添加类名的功能作为说明 逻辑是先获取到想要修改属性的元素,然后这此些元素上添加类名

$('#test').addClass('helloworld')
//通过document.querySelectorAll(selector);  获取所有id为test的元素,
//这时得到一个伪数组,然后遍历这个伪数组,为它里面的每一个元素添加上className

引用: jQuery设计思想 作者: 阮一峰

jQuery设计模式代码:https://github.com/wdnmd1099/All-My-note/tree/main/jQuery%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F