关于jquery DOM&事件的讲解

jacklove
jacklove 原创
2018-05-21 10:39:14 938浏览

在学习中经常会遇到jquery DOM&事件,本篇将会详解jquery DOM&事件。

库和框架的区别?

库就是提供了很多方法,相当于仓库里有各种小工具,需要什么工具的时候就直接用。

框架就是搭好了一个架子,大的主体已经确定,只需要往里面填充各种工具。

jquery 能做什么? jquery 对象和 DOM 原生对象有什么区别?如何转化?

jquery可以遍历HTML文本、DOM节点的操作、事件的处理、动画也以及ajax功能,让你不用考虑兼容性在更多的平台去使用它。
特点是:轻量级(32kb)、兼容css3、跨浏览器、

jquery 对象和 DOM 原生对象的区别是jqery对象是原生对象经过包装后的对象,它拥有的是jquery对象专属的一些方法,使用起来很方便。

query直接使用数组的方法([索引数下标])将转化为原生DOM对象,如果使用eq方法则结果还为query对象。而原生对象转化为jquery对象只需要用$()包裹住就可以了。
如:

jquery对象转原生 > $(#head)[0]

原生对象转jquery > $(原生对象)

jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?

在jquery中可以绑定事件用如下写法:

$("button").click(function() {
    alert(1);
} );
$("button").bind('click', function(e){    console.log(e);
    alert(2);
});
$("button").on('click', function(){    console.log(e);    console.log(this);    console.log($(this));
});

bind 为元素添加一个绑定事件 (1.7版本之后建议使用on代替bind)

unbind 解除一个元素绑定事件 (1.7版本前使用的方法)

delegate 相当于事件代理(可指定元素)为元素添加一个或多个绑定事件 (1.7版本之后建议用on代替)

live 相当于使用了事件代理(对于根节点),为元素添加一个或多个绑定事件 (在1.7版本之后被废除,用on代替)

on 在被选元素及子元素上添加一个或多个事件处理程序 (最建议使用的方法)

off 是用来移除.on()方法添加的事件处理程序

on()的方法把上面几种方法统一了,所以现在推荐使用.on()的方法,写法为:

$( "#members" ).on( "click","li a",function( e ) {} );
这里注意子元素的位置在click之后,代表使用了事件代理

jquery 如何展示/隐藏元素? jquery 动画如何使用?

展示元素: $(selector).show(speed,callback);

隐藏元素: $(selector).hide(speed,callback);

展示和隐藏切换: $(selector).toggle(speed,callback);

淡入淡出:

$(selector).fadeIn(speed,callback); //淡入
$(selector).fadeOut(speed,callback); //
淡出$(selector).fadeToggle(speed,callback); //
淡入淡出切换$(selector).fadeTo(speed,opacity,callback);  //渐变到透明度

滑入滑出:

$(selector).slideDown(speed,callback); //滑入$(selector).slideUp(speed,callback); //滑出$(selector).slideToggle(speed,callback); //切换

可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。

jquery动画 $(selector).animate({parmas},speed,callback);

params为必选参数,是动画的css属性。speed是可选参数,规定动画效果的时长,取slow、fast、或毫秒值。classback为动画完成后所执行的函数。

如何设置和获取元素内部HTML内容?如何设置和获取元素内部文本?

设置或者获取HTML内容:$(selector).html()

设置或者获取文本内容:$(selector).text()

有参数代表设置,没有参数代表获取。

如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?

设置或者获取表单用户输入内容$('#input').val()

设置或者获取表单选择内容$('input:checked')或$(':checked')

设置或者获取元素属性 $("div").attr(e,d) e代表获取,d代表需要设置的属性,为空时代表获取

获取带有某个属性的元素$('[data-img]')或者$('[data-img="xxx“]')

本篇讲解了jquery DOM&事件,更多相关知识请关注php中文网。

相关推荐:

一些相关的模块化基础

dom对象的innerText和innerHTML有什么区别?

一些关于JS的基础问题

以上就是关于jquery DOM&事件的讲解的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。