关于jquery:jquery总结一

46次阅读

共计 6652 个字符,预计需要花费 17 分钟才能阅读完成。

jquqry 总结一

电脑系统:windows10 专业版
在开发的过程中, 咱们依据需要会常常应用到 jquery, 当初我简略的做了以下总结, 心愿对大家有所帮忙。
jQuery 是一个基于 JavaScript 的面向对象封装.

在 jQuery 中 通过选择器获取到的是一个对象, 该对象中存在一个数组属性, 该数组中存储着所有通过抉择获取到的元素.
jQuery 1.x: 兼容 IE6, 7, 8

jQuery 2.x: 不兼容 IE6, 7, 8

jQuery 3.x: 不兼容 IE6, 7, 8
1, 元素绑定事件

on(参数一, 参数二): 绑定事件

参数一: 要绑定的事件类型

参数二: 要绑定的事件(能够是匿名函数, 也能够是函数名)

off(参数一, 参数二): 解除绑定

参数一: 事件类型

参数二: 事件名

注: 如果省略参数二不写, 将勾销所有参数一类型事件的绑定; 如果通过参数二指定了要解除绑定的事件, 则只解除对应的一个事件.

2, DOM 操作

创立标签:

$('<div>')

创立 DOM
A.apppendTo(B): 将 A 元素增加到 B 元素里

A.append(B): 将 B 元素 增加到 A 元素外部的前面

A.prepend(B): 将 B 元素 增加到 A 元素外部的后面

A.after(B): 将 B 元素 增加到 A 元素内部的前面

A.after(B): 将 B 元素 增加到 A 元素内部的后面

A.replaceWith(B): 用 B 元素替换 A 元素

B.replaceAll(Sel): 用 B 元素替换所有通过 Sel 选择器匹配到的元素

A.empty(): 革除 A 元素中的所有内容

A.remove(Sel): 革除 满足 Sel 选择器 的 A 元素

获取指定标签的子级标签和父级标签

parent(): 获取指定元素的间接父级标签

parents(): 获取指定元素的所有父级标签

children(): 获取指定元素的所有子级标签

find(Sel): 获取指定元素中满足 Sel 选择器的 子级标签

3, 元素款式操作

形式一: 一次性设置多个款式

  $(“.out p”).css({background: “red”,     fontSize: ’30px’});

形式二: 一次只设置一个款式

  $(“.out p”).css(‘textAlign’, ‘center’);

4, 操作元素属性

  // 设置的单个属性   $(‘div’).attr(“id”, “one”); // 设置多个属性 $(‘img’).attr({src: “./img/timg.jpeg”,   width: ‘300’});   // 获取: 也是获取的第一个匹配胜利的元素的属性值   console.log($(‘div’).attr(“id”)); // 删除属性 $(“img”).removeAttr(“width”);   属性值能够是一个函数, 函数携带两个参数   参数一(i): 匹配到的元素在数组中的下标   参数二(v): 以后正在操作的这个元素原来的属性值 $(‘img’).attr(‘width’, function(i, v) {return (i + 1) \* 200; }); // 200, 400, 600 // 400, 800, 1200 // 练习: 设置 img 的 width 为之前的二倍 $(‘img’).attr(‘width’, function(i, v) {return v * 2;});

操作元素属性办法二: prop()

prop()办法 的应用形式简直与 attr()办法 雷同.

区别: prop() 往往用于操作元素的固有属性, attr() 往往用于操作自定义属性

当属性值为 布尔类型 时, 应用 prop() 办法操作该属性

5, 操作元素的内容

  // html(): 成果同 innerHTML   $(‘p’).html(“<strong> 你好, 晚饭还早!</strong>”);   // text(): 成果同 innerText   $(‘p’).text(“你好, 晚饭还早!“); // 一, html() // 获取: 获取的是第一个匹配胜利的元素中的内容 console.log($(‘p’).html()); // 获取: 获取的是所有匹配胜利的元素中的内容 console.log($(‘p’).text()); // 三, val() // 设置 $(“input”).val(“ 姓名 ”); $(“input”).val(function(i, v) {var arr = [“ 张三 ”, “ 男 ”, 18]   return arr[i]; }); // 获取: 获取的是第一个匹配胜利的元素中的内容 console.log($(“input”).val());

6, 动画

animate(参数一, 参数二, 参数三, 参数四)

参数一: 须要做动画的属性(类型为对象)

参数二: 动画的继续时长, 单位: 毫秒

参数三: 速度变动曲线, jQuery 默认提供 linear 和 swing(须要插件反对), 个别省略该参数

参数四: 动画执行结束之后的回调函数

  $(‘.out’).animate({height: ‘100px’,     fontSize: ’50px’}, 3000, function() {     alert(“ 动画执行实现 ”);   });

7,操作元素类名

// 1, 增加类名  为指定的标签增加 class 值 $(‘p’).addClass(“one”); // 2, 删除类名 $(‘p’).removeClass(‘first’); $(‘p’).removeClass(function(i, v) {return ‘a’ + i;}); // 3, 非凡的办法   toggleClass(参数一, 参数二)   参数一: 对应的 class 值   参数二: 布尔值, 增加或者删除. true 增加; false 删除      当省略参数二时: 如果元素原来存在对应的 class 值, 则删除; 如果不存在, 则增加. $(‘p’).on(‘click’, function() {$(this).toggleClass(‘active’, true); });

动画

一、显示 / 暗藏

暗藏动画

A.hide()

设置动画的过程:slow, normal, fast, 毫秒数

显示动画

A.show()

设置动画的过程:slow, normal, fast, 毫秒数

显示 / 暗藏

A.toggle()

设置动画的过程:slow, normal, fast, 毫秒数

二、淡入 / 淡出

淡出

A.fadeOut()

设置动画的过程:slow, normal, fast, 毫秒数

淡出

A.fadwIn()

设置动画的过程:slow, normal, fast, 毫秒数

淡入 / 淡出

A.fadeToggle()

设置动画的过程:slow, normal, fast, 毫秒数

非凡的

A.fadwTo()

必须有一个透明度的参数

设置动画的过程:slow, normal, fast, 毫秒数

三、上滑 / 下滑

上滑

A.slideUp()

设置动画的过程:slow, normal, fast, 毫秒数

下滑

A.slideDown()

设置动画的过程:slow, normal, fast, 毫秒数

A.slideToggle()

设置动画的过程:slow, normal, fast, 毫秒数

四、自定义动画

同时批改多个值

$(‘#custom1’).on(‘click’, function() {$(‘#aaa’).animate({width: 200,     height: ‘200’,     fontSize: ’30px’}, 1000, function() {     alert(“ 动画执行结束 ”);   }); });

在以后属性值的根底上减少 / 缩小

$(‘#custom2’).on(‘click’, function() {$(‘#aaa’).animate({width: ‘+=200’,     height: ‘-=100’}, ‘slow’, function() {     alert(“ 动画执行结束 ”);   }); });

队列动画

$(‘#custom3’).on(‘click’, function() {$(‘#aaa’).animate({width: ‘200’,}, 3000);   $(‘#aaa’).animate({height: ‘200’,}, 3000);   $(‘#aaa’).animate({width: ‘100’,}, 3000);   $(‘#aaa’).animate({height: ‘100’,}, 3000); });

链式操作

当对同一个元素做多项操作时, 能够连在一起写.

$(‘img’) .prop(‘src’, ‘./img/timg.jpeg’) .css({border: ‘2px solid gold’,   width: ‘300px’}) .slideUp(1000) .slideDown(1000);

事件

一,加载事件

形式一

$(‘document’).ready(function(){})

形式二

$(function(){})

js 中的加载与 jQuery 的区别

前者等页面元素和内部文件加载结束后再触发

后者是页面元素加载结束后触发

鼠标事件

click

dblclick

mouseout()

mouseover()

mouseenter()

mouseleave()

键盘事件

keypress()

keyup()

keydown()

表单事件

// focusin(): 当元素取得焦点前,触发 focusin 事件。

// focusin 事件跟 focus 事件区别在于,他能够在父元素上检测子元素获取焦点的状况。

focusin()

// focusout(): 当元素失去焦点前,触发 focusout 事件。

// focusout 事件跟 blur 事件区别在于,他能够在父元素上检测子元素失去焦点的状况。

focusout()

// select(): 当 text 类型的 input 或者 文本域中的内容被选中时触发

select()

// resize: 只能给 window

$(window).resize(function() {console.log(“ 小米粥!!!”); });

jQuery 没有封装滚轮事件和鼠标右击事件

jQuery 封装的滚动事件 (留神, scroll() 并不是 鼠标滚轮事件, 而是在能滚动元素滚动时触发的事件)

$(‘.fatDiv’).scroll(function() {console.log(“+++++++”); });

JS 原生鼠标滚轮事件

var fatDiv = document.getElementsByClassName(“fatDiv”)[0]; fatDiv.onmousewheel = function() {   console.log(“=======”); }

事件绑定

on 能够绑定多个事件

off 能够勾销多个绑定事件

bind() 绑定事件

unbind() 勾销绑定事件

合成事件

hover(事件一, 事件二): 鼠标移入元素时触发事件一, 鼠标移出元素时触发事件二

$(‘.resizeDiv’).hover(fun1, fun2); function fun1() {   console.log(‘ 羊肉烩面!’); } function fun2() {   console.log(‘ 炝锅烩面!’); }

toggle(fun1, fun2, …, funN): 1.9 版本之前, 当点击元素时会顺次触发 fun1, fun2, …, funN

一次性事件

$(‘#once’).one(‘click’, function() {alert(“ 爱你到天荒地老 …”); });

DOM

增加元素

A.append(B) 将 B 元素增加到 A 元素外部的前面

A.prepend(B) 将 B 元素增加到 A 元素外部的后面

A.after(B): 将 B 元素增加到

A.before(B)

A.replaceWith(B)

A.replaceAll(Sel)

A.empty(): 革除 A 元素中所有的内容

A.remove(Sel): 革除满足 Sel 选择器的 A 元素

增加

A.appendTo(B): 把 A 元素增加到 B 元素外部的前面

插入

A.insertBefore(B): 将 A 元素增加到 B 元素内部的后面

A.insertAfter(B): 将 A 元素增加到 B 元素内部的前面

删除元素

detach() 办法可能移除元素,然而不会移除元素身上的事件

remove()  办法,既能移除元素,也能移除元素自身的事件

// A.detach(): 满足这个选择器的元素被删除

$(‘#btn’).on(‘click’,function(){alert})

克隆

clone(是否拷贝事件),默认值 false 代表只克隆元素,不克隆元素身上的事件

true 会克隆元素身上的事件

包裹元素的办法

A.wrap(B): 用 B 标签包裹每一个 A 元素

A.wrapAll(B):用 B 标签包裹所有的 A 元素(谨慎,A 元素不挨着会扭转布局)

A.wrapInner(B): 用 B 标签包裹每一个 A 元素中的内容

遍历节点

each()

函数做参数

i 是下标

e 是遍历的元素

siblings() : 获取以后元素之外的同级元素

几个尺寸值

高度(同宽度)

// height() = height

console.log($(‘.one’).height());

// innerHeight() = height() + 高低 padding

console.log($(‘.one’).innerHeight());

// outerHeight() = innerHeight() + 高低 border

console.log($(‘.one’).outerHeight());

// outerHeight(true) = outerHeight() + 高低 margin

console.log($(‘.one’).outerHeight(true));

元素边框左上角到以后窗口的间隔

// 获取

console.log($(‘.one’).offset());

// 设置

 $(‘.one’).offset({top: 500,    left: 300});

position(): 元素 margin 左上角 到离它最近的已定位父元素 边框左上角内边缘 的间隔

// scrollLeft(): 程度滚动条的地位(页面左侧卷进去的间隔)

console.log($(‘:root’).scrollLeft());

// scrollTop(): 垂直滚动条的地位(页面顶部卷进去的间隔)

console.log($(‘:root’).scrollTop());

// 设置

$(document).click(function() {$(‘:root’).scrollTop(99); });

jQuery 的 AJAX 申请

ajax 申请有两种形式

形式一

$.ajax({})

形式二

$.ajax(url,{})

get 申请

$.get(‘url’,{})

post 申请

$.post(‘url’,{})

解析 json 数据

$.post(‘url’,{},function(data){// 解析 json 数据 var doc=JSON.parse(data) })

解析 xml 数据:间接从 data 中查找

$(data).find(‘student’).each(function(i,v){var trM=$(”).appendTo(‘table’); $(v).children().each(function(i,v){$(”).text($(v).text()).appendTo(trM); }) })

// 本期对于 jquery 的总结到了这里就完结啦! 是不是很简略! 让咱们一起走向巅峰!

正文完
 0