临时->jQuery 知识点大纲、dom文档加载顺序、选择器、效果

 

jQuery

1 - 解析HTML结构。 
2 - 加载外部脚本和样式表文件。 
3 - 解析并执行脚本代码。 
4 - DOM树构建完成。 
5 - 加载图片等外部文件。 
6 - 页面加载完毕。

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

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

选择器

基本选择器

设置多个值的时候,用字典存储方法:

$(‘a’).css({‘属性1’:’值1’,’属性2’:’值2’})

// 1.id选择器
$('#id').css('color名称','black属性');
// 2.标签选择器
$('a').css('color','yellow')

// 3.类选择器
$('.class').css('color','red')

// 4.通配符选择器
console.log($('*').html())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

层级选择器

选择器语法描述
后代选择器$(‘标签1 p’).css(‘属性’,’值’);所有标签1包含的元素
子代选择器$(‘标签1>p’).css(‘属性’,’值’);标签1包含元素(子代的子代就不算了)
邻居选择器$(‘标签1+p’).css(‘属性’,’值’);选择相邻的单个元素
兄弟选择器$(‘标签1~p’).css(‘属性’,’值’);选出标签1相同的元素
取第一个元素$(‘li:first’).css(‘属性’,’值’); 
取最后个元素$(‘li:last’).css(‘属性’,’值’); 
指定顺序元素$(‘li:eq(3)’).css(‘属性’,’值’); 

例子

$(function(){
            //后代选择器
            $('#box p').css('color','red');
            //子代选择器,子元素的子元素就不算了
            $('#box>p').css('color','yellow');
            //邻居选择器,选择相邻的元素
            $('#father+p').css('background-color','blue')
            //兄弟选择器 
            $('#father~p').css('background-color','burlywood');
            //获取第一个元素
            $('li:first').css('font-size','50px');         
            //获取最后一个元素          
            $('li:last').css('font-size','50px');
            //指定第几个元素
            $('li:eq(3)').css('font-size','50px');
        })
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

过滤选择器

选择器语法
选择奇数元素:odd
选择偶数元素:even
选择指定索引:eq(索引)
从指定索引开始:gt(索引值)
从指定索引之前:lt(索引值)

例子

//获取第一个:first  最后一个:last

//奇数
$('li:odd').css('color','bisque')
//偶数
$('li:even').css('color','bisque')
//指定索引值的【最常用!!!】
$('li:eq(索引)').css('color','bisque')
//索引值从某个开始的
$('li:gt(索引值)').css('color','bisque')
//索引值之前的
$('li:lt(索引值)').css('color','bisque')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

属性选择器

//标签名[属性名] 查找所有含有id属性的该标签名的元素
$('li[id]').css('color','red');

//匹配给定的属性是what值得元素
$('li[class=what]').css('font-size','30px');
//[attr!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素
$('li[class!=what]').css('font-size','50px');

//匹配给定的属性是以某些值开始的元素
$('input[name^=username]').css('background','gray');
//匹配给定的属性是以某些值结尾的元素
$('input[name$=222]').css('background','greenyellow');

//匹配给定的属性是以包含某些值的元素
$('button[class*=btn]').css('background','red')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

筛选选择器【常用】!!

//获取第n个元素 数值从0开始
$('span').eq(1).css('color','red');
//查找自己的父元素
$('span').parent().css('color','red');
//.()选择所有的兄弟元素(自己同级的同类型元素)
$('.list').('li').css('color','red')
//.find()
//查找后代元素
$('div').find('span').css('color','red')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

JQ与 DOM模型的 相互转化

Col1获取转换
dom==>jquery对象var oDiv = document.getElementById(‘box’);$(oDiv)
jquery对象==>dom$(‘button’)(‘button’)[0]
jquery对象==>dom$(‘button’)(‘button’).get(0)
//dom==>jquery对象

var oDiv = document.getElementById('box');
console.log($(oDiv));

$(oDiv).click(function(){
   //点击命令 
})

//第一种方式 jquery ===>DOM对象
console.log($('button')[0]);

//第二种方式
console.log($('button').get(0));
var isShow = true;

$('button').get(0).onclick = function(){
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

JQ效果

元素显示隐藏的方法特效

简单版

show(speed,callback) 
后面可以带参数(延时时间,fun())

语法意义注意
show显示field3
hide隐藏field3
toggel自动开关(已显示就关闭,反之)foggel(延时时间,function(){方法})
//概念:显示隐藏的匹配元素 语法:show(speed,callback) 参数:
//speed:三种预定速度之一的字符串('slow','normal','fast')或表示动画时长的毫秒值(如:1000毫秒==1秒)
//callback:在动画完成时执行的函数,每个元素执行一次

$('#btn').click(function(){
    $('#box').toggle(1000,function(){
        alert('改变')
    });
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

slide-滑动隐藏

通常用在,导航栏鼠标移动上,自动拉出信息框等等 
通过高度变化,滑动出设置的元素

语法意义
slideDown向下滑动出显示出来
slideUp向上滑动显示出来
slideToggle自动滑动,同显示隐藏的toggle

fade-透明度渐变

通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。

mouseover 与 mouseout 是鼠标移上与移出 可以配合使用

语法意义
fadeIn淡入效果
fadeOut淡出效果
fadeTo调整到指定的不透明度 例:fadeTo(时间,0.3透明度)
fadeToggle自动淡入和淡出效果 同上

animate 动画

移动某些元素到指定位置! 或改变大小、属性等

语法意义
animate创建自定义动画的函数
stop暂停正在运行的动画
delay延时操作 delay(1000)延时1秒操作
//以动画形式改变 原来的大小
$('#box').animate({
width:'200px',
height:'300px'
})

//将盒子先左移动100px再等2秒后顶部移动400px
$('#box').animate({left:'100px'}).delay(2000).animate({top:"400px"});

//将盒子移动到100px,300px的位置
$('#box').animate({left:'100px',top:'300px'},2000);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

JQ属性

属性总类

jq属性操作分为四部分:html属性操作、dom属性操作、类样式操作、值操作

操作类型原理例如
html属性操作对html中属性进行读取、设置、移除attr()、removeAttr()
dom属性操作对DOM元素的属性读取、设置、移除prop()、removeProp()
类样式操作对DOM属性className添加,移除ddClass()、removeClass()、toggleClass()
值操作对DOM属性value读取和设置html()、text()、val()

attr( )与prop( )区别

前者对htm操作(可以直观的看到效果),后者对DOM对象操作(可以通过打印来查看效果

HTML属性操作

attr( ) 获取、赋值

设置属性值或者 返回被选元素的属性值

//获取值
//  如果有一个参数,表示获取值 对应属性的值
var id = $('选择器').attr('id')  //获取选择器元素指定的 id = 多少

//设置值
$('选择器').attr('class','box')  //设置选择器指定元素的class='box'

$('选择器').attr({name:'hahaha',class:'happy'})  //多个值,用字典
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

removeAttr( ) 移除

删除一个属性

// 删除值,把name 和 class 都删除,删除多个或单个
$('选择器').removeAttr('name class') // 删多个用空格分割
  • 1
  • 2

DOM属性操作

prop( ) 获取、赋值

获取元素集中第一个元素的属性值.它是匹配到的dom对象设置属性。

// 取第一个li元素的class值
$('li').prop('class')
// 设置值
$('li').first().prop({'name':'app','name2':'test'})
  • 1
  • 2
  • 3
  • 4

removeProp( ) 移除

用来删除由.prop()方法设置的属性集

//删除值
$('li').first().removeProp('name','name2')
  • 1
  • 2

类样式操作 (常用!)

addClass( ) 添加类

//添加类
$('span').addClass('span2 span3')
  • 1
  • 2

removeClass( ) 移除类

//移除类
$('span').removeClass('span')
  • 1
  • 2

toggleClass( ) 自动添加、删除

//如果存在(不存在)就删除(添加)一个类
toggleClass('box')
  • 1
  • 2

值属性操作

text() 取文本

//text()只获取文本
$('选择器').text()
//赋值
$('选择器').text('只是写入文本')
  • 1
  • 2
  • 3
  • 4

html() 取网页内容

//html()获取所有信息,标签+文本信息
$('选择器').html()
//赋值
$('选择器').html('可以写html标签')
  • 1
  • 2
  • 3
  • 4

val() 取表单值

表单中获取值,如input textarea select等等

$('选择器').val();
// 设置值
$('选择器').val('设置了表单控件中的值');
  • 1
  • 2
  • 3

input单选框、下拉框、多选框【取值与赋值】

单选框

//获取单选框被选中的value值
// 单选框类型:radio   选中状态:checked
$('input[type=radio]:checked').val()
//设置value  设置选中项
$('input[type=radio]').val(['要选择项的value值'])
  • 1
  • 2
  • 3
  • 4
  • 5

复选框

//复选框被选中的value获取到第一个被选中的值
console.log($('input[type=checkbox]:checked').val())
//设置value  设置选中项,复选框可以多选
$('input[type=checkbox]').val(['a','b'])
  • 1
  • 2
  • 3
  • 4

下拉框

//下拉列表被选中的值
var obj = $('#name option:selected')

//设置下拉列表框的选中值,必须使用select
$('select').val(['3','2'])
  • 1
  • 2
  • 3
  • 4
  • 5

文本框

//文本框 设置值 和 获取值
console.log($('input[type=text]').val())
  • 1
  • 2

JQ文档操作

插入、剪切 标签元素 【常用!】

效果语法
父元素的后面添加标签父元素.append(子元素)
子元素 主动添加进 父元素子元素.appendTo(父元素)
剪切标签到指定位置$('粘贴地').append($('选择器,剪切标签'))
插到选中的第一个位置$(‘ul’).prepend(‘插到ul下第一个’);
同上,写法不同$(‘插到ul下第一个’).prependTo(‘ul’);
在..之前插..$(‘ul’).before(‘插指定标签之前’)
把..插到..前子.insertBefore(父)
在..之后插..$(‘ul’).after(‘插指定标签之后’)
把..插到..后子.insertAfter(父)
//父元素.append(子元素) 追加某元素 父元素中添加新的元素
//添加标签
// 1.把 创造的标签对象直接添加
var oUl = document.createElement('li')
$('ul').append(oUl)
// 2.手动添加内容
$('ul').append('<li><a href="#">luffy</a></li>')
// 剪切添加,将其他位置的标签,添加到制定位置
$('需要添加到的标签').append($('选择器,要剪切的标签'))

//子元素.appendTo(父元素) 追加到某元素 子元素添加到父元素

//prepend 插入到被选中的元素的第一个位置
$('ul').prepend('<li>我是第一个元素</li>');
$('<li>我是第一个元素</li>').prependTo('ul');

//after  before
$('ul').before('<h2>我是一个二级标题</h2>')
$('ul').after('<h3>我是一个三级标题</h3>')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

复制

复制内容.clone().粘贴地址 
!!参数 true=完全把内部功能也clone false=只克隆表面无功能

$('复制内容').clone(true).insertAfter('粘贴到制定元素之后');
  • 1
  • 2

替换

效果语法
匹配的元素替换成指定replaceWith()
元素替换掉所有 匹配到的元素replaceAll()
//将所有的h5标题替换为a标签
$('h5').replaceWith('<a href="#">H</a>')
//将所有h5标题标签替换成id为app的dom元素
$('h5').replaceWith($('#app'));

//replaceAll
$('<br/><hr/><button>按钮</button>').replaceAll('h4')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

删除 【常用!】

效果语法
清空选中,本体框架还在empty()
彻底删除选中remove()
移除匹配的节点元素 删除节点后事件还在detach()
//empty() 清空选中的 内容(子元素会被删掉)
$('ul').empty()

//remove() 彻底删掉选中
$('ul').remove()

//detach() 移除匹配的节点元素  删除节点后事件还在
var $btn = $('button').detach()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

JQ 通过css获取位置

效果语法
匹配元素相对父元素的偏移位置position
取元素在当前视口的相对偏移,返回对象包含两个整型属性:top 和 leftoffset
获取元素相对滚动条位置偏移 文档被卷起的像素值scrollTop、scrollLeft
获取第一个匹配元素内部区域高宽(包括补白、不包括边框)innerHeight、innerWidth
元素外部高宽度(默认包括补白和边框)outerHeight、outerWeight
取得匹配元素当前计算的高宽度值weight、height

筛选

  • 常用!!这里写图片描述

遍历

//query的遍历方法 .each()

//遍历ul标签下的元素, index=索引  ele=对象
$('ul').children().each(function(index,ele){})
  • 1
  • 2
  • 3
  • 4

监听事件

常用事件 
!!!JQ不支持事件捕获。 但支持事件冒泡 
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值