《学习笔记——jQuery》

102 阅读2分钟

jQuery基本功能

虽然jQuery已经是一门过时的语言,但是学习jQuery对之后写代码和封装库很有帮助,为以后学习Vue / React起到一个过度作用,因为jQuery也蕴含了非常多的变成套路

目录

1.获取元素

2.链式操作

3.创建元素

4.移动元素

5.修改元素的属性

获取元素

选择表达式可以是CSS选择器————代码:


$(document) //选择整个文档对象

$('#myId') //选择ID为myId的网页元素

$('div.myClass') // 选择class为myClass的div元素

$('input[name=first]') // 选择name属性等于first的input元素

或者是jQuery特有的表达式


$('a:first') //选择网页中第一个a元素

$('tr:odd') //选择表格的奇数行

$('#myForm :input') // 选择表单中的input元素

$('div:visible') //选择可见的div元素

$('div:gt(2)') // 选择所有的div元素,除了前三个

$('div:animated') // 选择当前处于动画状态的div元素

链式操作

链式操作是jQuery的设计想之一,最终选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来

代码:


$('div').find('h3').eq(2).html('hello')

//分解开来,就是

$('div') //找到div元素

   .find('h3') //选择其中的h3元素

   .eq(2) //选择第3个h3元素

   .html('Hello'); //将它的内容改为Hello

通过链式操作,可以使用简洁的代码完成工作,它的原理在于使用返回的api操作对应的元素

jQuery还提供了.end()方法,是的结果集可以后退一步

代码:


 $('div')

   .find('h3')

   .eq(2)

   .html('Hello')

   .end() //退回到选中所有的h3元素的那一步

   .eq(0) //选中第一个h3元素

   .html('World'); //将它的内容改为World

创建元素


$('<ul>ul element</ul>')//创建ul元素

$('<li class="new">new list item</li>')//创建class为new的li元素

$('ul').append('<li>list item</li>')//将li元素添加为ul元素的子元素

移动元素

jQuery提供了两组方法两操作元素在网页中的位置移动:

  • 直接移动该元素

  • 移动其它元素

方法一:使用.insertAfter(),把元素移动到另一个元素后面:


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

方法二:使用.after(),把元素移动到另一个元素前面:


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

两种方法效果看上去是一样的,但它们返回的元素不一样,.insertAfter()返回div元素,.after()返回p元素

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


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

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

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

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

修改元素属性

jQuery 支持使用同一个方法,来完成取值和赋值的操作。是取值还是赋值,由参数来控制,不传参数则表示取值,传入参数则表示赋值。

常用的取值和赋值方法如下:


$('#p').attr('class')//获取id为p的元素的class属性

$('#p').attr('class','red')//如果有第二个参数,就是给p元素的class加一个red属性

//这是一个很有意思的例子。因为这是jQuery的一个巧妙的设计。这是一个getter/setter模式。就是指这个函数,既可以读也可以写。

$('#p').addClass('blue') 给id为p的元素增加一个blue的class属性

$('#p').removeClass('yellow') 删除id为p的元素的yellow的class属性