关于的jQuery小知识以及碎碎念
碎碎念
是的,很多人认为jQuery
并不是一个好用的框架,像什么Vue
啊,React
啊,Angular
啊,这些才算的上一个高大上的框架。但是,存在还是有一定的道理的,就像是没有jQuery这样的简化JavaScript的框架,当作前浪
,vue等后面框架的面世,还是需要一点变革的。
那么我为什么会开始学习jQuery?
这个问题问得好,因为学校要求学🤣。就像学校现在还要求我们学习在现在的互联网公司不会用的过时了的jsp
一样。嘛~,我这不是抱怨,算是一种考古哈哈。就比如说哪一天,突然间出现了一个十分强大的前端框架,直接把我上面刚刚所说的架构全部给代替了,那么我们现在所学的,所认为的前沿框架在那个时候的人看来,不也是过时之物么?技术永远是在发展的,这里呢,我就抱着一颗虔诚之心🧡,好好的把学校里安排的知识给稍微美化整理一下。那么,开始嘻嘻!
=================我是分界线==============
jQuery入门
1. 环境安装
安装环境是使用jQuery
的第一步,如果你需要在本地运行jQuery,可以查看官网来安装jQuery库。这里推荐使用官方定制的CDN进行引入,当然,这在网上是可以搜寻到的。
2. 第一个程序
在<div id="box"></div>
里填充内容hello,jquery
。实现的效果。
这里用javascript
先实现一下:
1 | var box = document.getElementById("box"); |
用jQuery
实现会更简单,下面每一步都和上面的相对应,实现如下:
1 | var box = $("#box"); |
从上面可以看出:
$("#box")
是获取到id="box"
的div
html()
方法是获取元素的内容(包括HTML标记),()
里面没有内容表示获取,有内容表示赋值。
基本语法:
$(selector).action()
说明:
+ jQuery
用美元符号$
定义;
+ selector
表示要操作的dom
元素;
`action`表示要执行的操作。
3. 基本选择器
和CSS
一样,jQuery
也有基本选择器,我们先来看一下源码:
1 | <div id="box1">我是id选择器</div> |
id选择器
对于上面 id="box1"
的 div
,用jquery
实现如下:
1 | var box1 = $("#box1"); |
效果如下(下面div获取上面div的内容):
从上面可以看出,id选择器语法:
$("# + idName")
这里再提醒一下:html():
里的 ()
里有内容,表示往该元素添加内容,没有内容,表示获取内容。
类选择器
对于上面 class="box2"
的 p
, 用jQuery
实现如下:
1 | var box2 = $(".box2"); |
效果如下:
从上面可以看出,类选择器语法:
$(". + className")
元素选择器
对于上面 <span></span>
, 用jQuery
实现如下:
1 | var box3 = $("span"); |
效果如下:
从上面可以看出,元素选择器语法:
$("tagName")
过滤选择器(重点)
例如,现有代码如下:
1 | <ul> |
基础效果图如下:
现在分别获取获取指定的li
元素,并添加相应的背景色。
- 获取第一个
li
标签,添加背景色orange
:1
$("li:first").css("background","orange")
- 获取最后一个
li
标签,添加背景色green
:效果图如下:1
$("li:last").css("background","green");
- 获取下标为
偶数
的li标签,添加背景色#ccc
:1
$("li:even").css("background","#eee");
- 获取下标为
奇数
的li标签,添加背景色#ccc
:效果图如下:1
$("li:odd").css("background","#ccc");
注:下标是从0开始的,li标签第一个下标是0,是偶数,所以背景色是”#eee”。
:eq
选择器
- 获取指定序号的元素
例如,现有一下代码:
1 | <ul> |
实现第二个li标签
背景色为红色.
1 | $("li:eq(1)").css("background","red"); |
:not选择器
倘若我们要实现这样的效果:
第四个li标签
的右侧没有外边距
,not选择器
,它选取除了指定元素以外
的所有元素:
1 | $("li:not(:last)").css("margin-right","20px"); |
效果如下:
层次选择器
有如下代码:
1 | <div class="container"> |
若想要获取到上面第一个p标签
下所有的span
标签,可以按照以下步骤:
获取到类container:
$(".container");
获取到container下第一个p标签:
$(".container p:first");
获取到第一个p标签下所有的span标签:
$(".container p:first span")
。
层次选择器和Dom结构是相匹配的.
show()与hide()
有如下代码:
1 | <p class="toggle">错误提醒</p> |
对于类toggle
,有错误时需要出现,解决了错误需要隐藏。
出现:$(".toggle").show()
相当于css中的
display:block;
隐藏:$(".toggle").hide()
相当于css中的
display:none;
类的添加和删除
有如下代码:
1 | <div id="box"></div> |
假如要给div添加类active
和btn
,这里用addClass()
方法:
1 | $("#box").addClass("active btn"); |
现在要删除一个类btn,这里用removeClass()方法:
1 | $("#box").removeClass("btn"); |
如果给上面的div
标签添加css
属性:background:orange;
对于div
标签,用jQuery可以这样写:
1 | $("#single").css("background","orange"); |
效果如下:
这是设置单个属性常用的方法。语法总结如下:
$(selector).css(attr,value);
设置多个属性
1 | <p class="more">设置多个属性</p> |
如果给上面的p
标签添加css
属性:
1 | "background":"#ccc"; |
对于p
标签,用上面的方法一条一条的写,也是可以的,但是比较麻烦,下面是设置多个css属性的方法:
1 | $(".more").css({ |
效果如下:
可以看出,设置多个css属性是用对象的方式来实现的。语法总结如下:
$(selector).css({
attr1: value1,
attr2: value2,
...
})