前端之jquery

jQuery相关文档

1、官网 https://jquery.com/
2、文档API:http://jquery.cuishifeng.cn/index.html

jQuery基本使用

1、引入
下载地址:https://jquery.com/download/
BootCDN jQuery各个版本地址: https://www.bootcdn.cn/jquery/

#方式一:本地引入
<script src="jquery-3.3.1.min.js"></script>
<script>
    //注意,一定在引入jQuery之后,再使用jQuery提供的各种操作
</script>
#方式二:直接使用CDN
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
    code...
</script>

2、jQuery对象
$是jQuery的别名

jQuery('.item').show()
//等同于
$('.item').show()

3、文档就绪事件
DOM文档加载的步骤:
1、解析HTML结构
2、加载外部脚本和样式表文件
3、解析并执行脚本代码
4、DOM树构建完成
5、加载图片等外部文件
6、页面加载完毕
等到文档加载完毕后执行函数,有两种方式

#1、执行时间不同
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。

$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

#2、编写个数不同
window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个

$(document).ready()可以同时编写多个,并且都可以得到执行

#3、简化写法不同
window.onload没有简化写法

$(document).ready(function(){})可以简写成$(function(){});

4、链式操作
原理:调用一个实例化方法返回的是当前的对象

$("#d1").first().css("color","red").next().css("color","yellow")

**5、jQuery DOM与js DOM的转换
js DOM:通过原生js获取的dom对象
jq DOM:通过jq选择器获取的dom对象

var divEle = document.getElementById("d1")
#1、Js DOM对象 ==> JQ DOM对象
$(divEle)
#2、JQ DOM对象 ==> JS DOM对象
$(divEle)[0]或者$(divEle).get(0)

选择器

1、基本选择器

$("#id")  #id选择器
$(".className")  # 类选择器
$("tagName")  # 标签选择器
$("*")  # 所有元素选择器

2、组合选择器

$("div.c1")  # 找到类为c1的div标签
$("#id, .className, tagName")  # 找到满足以上三个属性的所有标签

3、层级选择器

$("x y");   // x的所有后代y(子子孙孙)
$("x > y"); // x的所有儿子y(儿子)
$("x + y")  // 找到所有紧挨在x后面的y
$("x ~ y")  // x之后所有的兄弟y 

4、基本筛选器

:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(选择器)// 过滤掉所有满足not条件的标签
:has(选择器)// 过滤出所有后代中满足has条件的标签

5、表单常用筛选

:text
:password:file
:radio
:checkbox
:submit
:reset
:button
#例子
$(":checkbox")  // 找到所有的checkbox
#表单对象属性:
:enabled
:disabled
:checked
:selected
#例子
<form>
  <input name="email" disabled="disabled" />
  <input name="id" />
</form>

$("input:enabled")  // 找到可用的input标签 

筛选器

下一个兄弟元素:

$("#id").next()  # 下一个
$("#id").nextAll()  # 下面所有
$("#id").nextUntil("#i2")  # 下一个直到id为i2的标签

上一个兄弟元素:

$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")

父亲元素

$("#id").parent()
$("#id").parents()  // 查找当前元素的所有的父辈元素
$("#id").parentsUntil() // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止

儿子和兄弟元素

$("#id").children();// 儿子们
$("#id").siblings();// 兄弟们

查找

$("div").find("p")  # 找到所有div标签中含有p标签的标签
等价于 $("div p")

筛选

$("div").filter(".c1")  # 所有div标签中过滤出有c1样式类的标签
等价于 $("div.c1")

补充

.first() // 获取匹配的第一个元素
.last() // 获取匹配的最后一个元素
.not() // 从匹配元素的集合中删除与指定表达式匹配的元素
.has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
.eq() // 索引值等于指定值的元素

标签操作之样式操作

样式类

addClass()   // 添加指定的css类名
removeClass()  // 移除指定的css类名
hasClass()  // 判断样式存不存在
toggleClass()  // 切换css类名,有则移除,无则添加

css

css("color","red")  
#例子
$("p").css("color", "red");     //将所有p标签的字体设置为红色

位置

 offset()  //标签相当于当前窗口的位移
position()   //标签相当于父标签的位移
$(window).scrollTop()  //右侧滚动条距离顶部的距离,括号里有参数代表设值
$(window).scrollLeft()

尺寸

height()  // 文本高度
width()  // 文本宽度
innerHeight()  // 文本+padding
innerWidth()
outerHeight()  // 文本+padding+border
outerWidth()

标签操作之文本内容操作

html
html() 是获取选中标签元素中所有的内容
html(val) 设置值
text
text() 获取所有匹配元素包含的文本内容
text(val) 设置文本内容
注意:值为标签时,不会被渲染为标签元素,只会被当作值渲染到浏览器中
val
vai() 用于操作input的value值

标签操作之属性操作

用于id等或自定义属性

attr(attrName)                               // 返回第一个匹配元素的属性值
$('.box2 img').attr('title','美女')          // 为所有匹配元素设置一个属性值
attr({'title': '美女', 'alt':'图片被狗吃了'}) // 为所有匹配元素设置多个属性值
removeAttr('title')                        // 从每一个匹配的元素中删除一个属性

用于checkbox和radio

prop('value') // 获取value属性的值
prop('checked',true); // 设置属性
removeProp('value') // 移除value属性

标签操作之文档处理

//内部
$(A).appendTo(B)    // 把A追加到B内部的最后面
$(A).prependTo(B)   // 把A前置到B内部的最前面

//外部
$(A).insertAfter(B)    // 把A放到B外部的后面
$(A).insertBefore(B)    // 把A放到B外部的前面
===========================
//内部
$(A).append(B)  // 把B追加到A内部的最后
$(A).prepend(B) // 把B前置到A内部的最前面

//外部
$(A).after(B)    // 把B放到A外部的后面
$(A).before(B)  // 把B放到A外部的前面

了解

移除和清空元素

$('.p1').remove()  // 从DOM中删除所有匹配的元素。====>把元素本身删掉
$('.p1').empty()   // 删除匹配的元素集合中所有的子节点====》把元素的子元素都删掉(包含文本内容)

替换

replaceWith()
replaceAll()

克隆

clone()
// clone方法不加参数true,克隆标签但不克隆标签带的事件
// clone方法加参数true,克隆标签并且克隆标签带的事件

事件

#绑定事件
#方式一
$("#d1").click(function () {
        alert("...")
})
#方式二
$("#d1").on("click",function () {
       alert("...")
})  // 支持事件委托
#this指代的是当前被操作的标签对象
$(this).clone().insertAfter($('boy'))//clone默认情况下只克隆html和css,不克隆事件
$(this).clone(true)......   // 括号内加true即可克隆事件
































最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容