博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript基础学习——JQuery和DOM
阅读量:3918 次
发布时间:2019-05-23

本文共 5623 字,大约阅读时间需要 18 分钟。

一、认识jQuery

1、JQ是JS库,是对JavaScript的一个封装,也即是说JQ提供了大量的API,在开发时,以最少代码实现最多的功能。于2006年开源,现在已经发展成为集JS、CSS、DOM、Ajax于一体的强大的框架体系。宗旨:write less,do more!(写的少,做得多)

2.学习文档

中文文档:https://www.jquery123.com/
API学习或查询:https://jquery.cuishifeng.cn/

3.JQ功能

(1)控制页面样式
(2)访问和操作DOM
(3)事件处理
(4)提供了大量的插件
(5)Ajax技术的封装
(6)提供了大量的动画处理

二、使用JQuery

测试代码

(1)本地引入

(2)CDN引入

注意:JQ必须先引入,然后才能调它的API。可以在head标签中引入,也可以在最后引入,一般在最后引入。

$('.box')    .html('欢迎来到JQ世界!')    .css('color','red')    .mouseover(function(){      $(this).fadeOut(2000)/*隐藏*/  });

在这里插入图片描述

三、选择器

(一)基本选择器

测试代码

id
class1
class2
class3

ppppppppppppp1

ppppppppppppp2

ppppppppppppp3

1、id: #id

$('#box').css({  color: 'blue',  background: '#eee'})

在这里插入图片描述

2、class: .class

$('.box').css({  color: 'red',  background: '#eee',  marginBottom: '10px'})

在这里插入图片描述

3、element: element

$('p').css({  color: 'red',  background: '#eee',  marginBottom: '10px'})

在这里插入图片描述

4、* 选择所有标签(项目开发时,不要用,因为它要匹配完所有的标签,性能差)

console.log($('*'))

在这里插入图片描述

5、, 选择多个DOM

$('#box,.box,p').click(function () {        console.log($(this).html())})

点击标签时在控制台可以看见

(二)层次选择器

测试代码

span1
span2

pppppppppp

pppppppppp

pppppppppp

test

1、选择器1 选择器2:选择选择器1的所有的后代元素(选择器2)

$('.wrapper span').html('这是span新的内容');

在这里插入图片描述

2、选择器1>选择器2:只选择选择器1的子元素

$('.wrapper>span').html('这是span新的内容');

在这里插入图片描述

3、选择器1+选择器2:选择紧挨着选择器1的第一个相邻元素(兄弟元素)

$('.wrapper+p').css('color','red')

在这里插入图片描述

4、选择器1~选择器2:选择选择器1的所有兄弟元素

$('.wrapper~.test').css('color','red');$('.wrapper~p').css('color','red');

在这里插入图片描述

(三)过滤选择器

测试代码

  • li01
  • li02
  • li03
  • li04
  • li05

h1

h3

h6

1、简单过滤选择器

(1):first或first() 第一个元素

$('ul li:first').css('color','red');

在这里插入图片描述

(2):last或last() 最后一个元素

$('ul li:last').css('color','blue');

在这里插入图片描述

(3):not(selector) 除selector之外的元素

$('ul li:not(.li3)').css('color','blue')

在这里插入图片描述

(4):even 偶数元素

$('ul>li:even').css('color','blue');

在这里插入图片描述

(5):odd 奇数元素

$('ul>li:odd').css('color','blue')

在这里插入图片描述

(6):eq(index) 第n个元素

$('ul>li:eq(2)').css('color','blue')

在这里插入图片描述

(7):gt(index) 大于第n个后的元素

$('ul>li:gt(2)').css('color','blue');

在这里插入图片描述

(8):lt(index) 小于第n个后的元素

$('ul>li:lt(2)').css('color','blue')

在这里插入图片描述

(9):header 选择h1-h6所有标题元素

$(':header').css('color','blue')

在这里插入图片描述

2、内容过滤选择器

测试代码

aaadfdfd

dfdsfd

dfdsffd

(1):contains(text) 获取包含指定文本内容的元素

$('p:contains(aaa)').css('color','red')

在这里插入图片描述

(2):empty 获取不包含子元素或文本内容的元素

$('p:empty').html('新的内容')

在这里插入图片描述

(3):has(selector) 获取含有选择器所匹配的元素

$('p:has(span)').html('aaaaaaaaaaaaaaaaaa')

在这里插入图片描述

(4):parent 获取含有子元素或文本的元素

$('p:parent').html('新的内容')

在这里插入图片描述

3、可见性过滤选择器

测试代码

box1
box2

ppppppppppppp

(1):hidden 选择display:none或隐藏文本域(hidden)的元素

$('div:hidden').css('display','block')

此时box1会被隐藏起来

(2):visible 选择display:block的元素

$('div:visible').css('color','red')

在这里插入图片描述

4、属性过滤选择器

测试代码

ppppppppppppppp

ppppppppppppppp

ppppppppppppppp

aaaaaaaaaaaaaa

bbbbbbbbbbbbbb

(1)[attr] 获取含有指定属性的元素

$('p[title]').css('color','red');

在这里插入图片描述

(2)[attr=value] 获取属性值为value的元素

$('p[title=bpp]').css('color','red')

在这里插入图片描述

(3)[attr!=value] 获取属性值不为value的元素

$('p[title!=p]').css('color','red')

在这里插入图片描述

(4)[attr^=value] 获取属性值以value开头的元素

$('p[title^=p]').css('color','red')

在这里插入图片描述

(5)[attr$=value] 获取属性值以value结尾的元素

$('p[title$=p]').css('color','red')

在这里插入图片描述

(6)[attr*=value] 获取属性值含有value的元素

$('p[title*=b]').css('color','red')

在这里插入图片描述

(7)[attr1][attr2][attr3] 获取含有指定多个属性的元素

$('p[title][id]').css('color','red')

在这里插入图片描述

(四)表单选择器

测试代码

1、:input

$(':input').val('aaaaaaaaaa')

在这里插入图片描述

2、:button

$(':button').val('aaaaaaaaaa')

在这里插入图片描述

3、:submit

$(':submit').val('aaaaaaaaaa')

在这里插入图片描述

4、:text

$(':text').val('aaaaaaaaaa')

在这里插入图片描述

5、:password

$(':password').val('aaaaaaaaaa')

在这里插入图片描述

四、DOM操作

(一)属性操作

测试代码

logo

1、获取属性值:attr(属性名)

console.log($('img').eq(0).attr('src'))

在这里插入图片描述

2、设置属性:attr(属性名,属性值)

$('img').eq(0).attr('src','https://dss1.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/weather/icons/a1.png')

在这里插入图片描述

3、删除属性:removeAttr(属性名)

$('img').removeAttr('alt')

(二)文本内容操作

1、获取文本及表单组件内容

(1)html() 可以操作标签

console.log($('p').html());

在这里插入图片描述

(2)text() 只能操作文本内容,不操作标签

console.log($('p').text());

在这里插入图片描述

(3)val() 只能用于表单组件

console.log($(':text').val());

在这里插入图片描述

2、设置(修改)文本及表单组件内容

(1)html(内容)

$('p').html('strong');

在这里插入图片描述

(2)text(内容)

$('p').text('strong');

在这里插入图片描述

(3)val(内容)

$(':text').eq(1).val('abcdefg');

在这里插入图片描述

3、删除文本及表单组件内容

(1)html(’’)

$('p').html('')

(2)text(’’)

$('p').text('');

(3)val(’’)

$(':text').eq(1).val('')

(三)元素样式操作

ppppppppppp

1、设置样式

(1)css(‘属性名’,‘属性值’) 设置一个样式

$('p').css('color','red')

在这里插入图片描述

(2)css({‘属性名1’:‘属性值1’,‘属性名2’:‘属性值2’,…}) 设置多个样式

$('p').css({  'color':'red',  'background-color':'gray'});

在这里插入图片描述

2、操作类

(1)添加类

addClass(‘类名’) 添加一个类名

$('p').addClass('red')

在这里插入图片描述

或:

addClass(‘类名1 类名2 …’) 添加多个类名

$('p').addClass('red bgc');

在这里插入图片描述

(2)删除类

removeClass() 清空类名

$('p').removeClass()

或:

removeClass(‘类名’) 清除指定的类名

$('p').removeClass('red')

或:

removeClass(‘类名1 类名2 …’) 清除指定的多个类名

$('p').removeClass('red bgc')

(四)页面元素操作

测试代码

  • aaaa
  • aaaa
  • aaaa
box2

ppppppppppppppp

1、创建DOM节点

(1)$(dom节点内容)

var dom = $('

这是添加的内容

');

2、在内部添加DOM节点

(1)append() 在内部的最后添加DOM

$('.box').append(dom)

(2)appendTo() 将DOM添加到内部的最后

$(dom).appendTo($('.box'))

在这里插入图片描述

(3)prepend() 在内部的最前面添加DOM

$('.box').prepend(dom)

(4)prependTo() 将DOM添加到内部的最前面

$(dom).prependTo($('.box'))

在这里插入图片描述

3、在外部添加DOM节点

(1)before() 在当前DOM前添加(同级添加)

$('.box').before($('strong'))

(2)insertBefore() 把DOM添加到当前元素之前(同级添加)

$('strong').insertBefore($('.box'))

在这里插入图片描述

(3)after() 在当前DOM之后添加(同级添加)

$('.box').after($('strong'))

(4)insertAfter() 把DOM添加到当前元素之后(同级添加)

$('strong').insertAfter($('.box'))

在这里插入图片描述

4、复制DOM节点

(1)clone() 只复制DOM元素

$('.box').append($('.p').clone())

(2)clone(true) 复制DOM及绑定在它上面的事件

$('.p').click(function () {    alert(111111111111)  });$('.box').append($('.p').clone(true))

5、删除DOM节点

(1)remove() 删除当前DOM及子元素

$('.box').remove('[title]')

(2)remove(dom节点) 在同级DOM中删除指定的DOM

// $('.box').remove('ul')

(3)empty() 删除当前DOM下的子元素,保留当前DOM

$('.box').empty()

转载地址:http://dfvrn.baihongyu.com/

你可能感兴趣的文章
IdentityServer4系列 | 初识基础知识点
查看>>
为什么我们总是「习惯性辩解」?
查看>>
.NET 异步解说
查看>>
Magicodes.IE 2.4发布
查看>>
程序员修神之路--它可能是分布式系统中最重要的枢纽
查看>>
如何理解Eating这个词?云原生与微服务专场介绍
查看>>
诊断日志知多少 | DiagnosticSource 在.NET上的应用
查看>>
Chrome正在启用HTTP/3,支持IETF QUIC
查看>>
【招聘(西安)】深圳市中兴云服务有限公司.NET工程师
查看>>
C# 8: 可变结构体中的只读实例成员
查看>>
Net5 已经来临,让我来送你一个成功
查看>>
System.Text.Json中时间格式化
查看>>
怎么将SVG转成PNG(.NET工具包编写)
查看>>
.NET Core3.1升级.NET5,坑还真不少...
查看>>
为什么曾经优秀的人突然变得平庸?
查看>>
.NET 5 中的隐藏特性
查看>>
.NET5都来了,你还不知道怎么部署到linux?最全部署方案,总有一款适合你
查看>>
我画着图,FluentAPI 她自己就生成了
查看>>
BenchmarkDotNet v0.12x新增功能
查看>>
使用 .NET 5 体验大数据和机器学习
查看>>