jQuery 能做什么?
- 方便快捷获取DOM元素
- 动态修改页面样式、动态改变DOM内容
- 解决跨浏览器兼容
- 响应用户的交互操作
- 为页面添加动态效果
- 统一Ajax操作
- 简化常见的JavaScript操作
jQuery 对象和 DOM 原生对象有什么区别?如何转化?
DOM 原生对象,原生JS对象有自己的属性和方法;
jQuery对象是对原生JS对象的封装,jQuery对象有自己的属性和方法与原生JS对象不同;
用法区别
DOM对象转换为jQuery对象加$符,如$(btn)
jQuery对象转换为DOM对象加下标,如$('.btn')[0]
jQuery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
bind为一个元素绑定一个事件处理程序。在.bind()绑定事件的时候,这些元素必须已经存在。
unbind为一个元素的事件处理程序解绑。
delegate为所有匹配选择器(selector参数)的元素绑定一个或多个事件处理函数,基于一个指定的根元素的子集,匹配的元素包括那些目前已经匹配到的元素,也包括那些今后可能匹配到的元素。
live 附加一个事件处理器到匹配目前选择器的所有元素,现在和未来。
on 在选定的元素上绑定一个或多个事件处理函数。
off 移除一个事件处理函数。
推荐使用on 方法事件处理程序到当前选定的jQuery对象中的元素。在jQuery 1.7中,.on()方法 提供绑定事件处理的所有功能。为了帮助从旧的jQuery事件方法转换过来,查看 .bind(), .delegate(), 和 .live()
$ul.on('click',$li,function(){
console.log($(this))
})
jQuery 如何展示/隐藏元素?
隐藏:
$("el").hide()
$("el").css("display","none")
展示:
$("el").show
$("el").css("display","block"/"inline-block")
jQuery 动画如何使用?
- 基础
.hide([duration ] [,easing ] [,complete ])用于隐藏元素,没有参数的时候等同于直接设置display属性。
.show( [duration ] [, easing ] [, complete ] )用于显示元素,用法和hide类似。
.toggle( [duration ] [, easing ] [, complete ] )用来切换元素的隐藏、显示,类似于toggleClass,用法和show、hide类似。
- 渐变
.fadeIn( [duration ] [, easing ] [, complete ] )通过淡入的方式显示匹配元素,参数含义和上面相同。
.fadeOut( [duration ] [, easing ] [, complete ] )通过淡出的方式隐藏匹配元素。
.fadeTo( duration, opacity [, easing ] [, complete ] )调整匹配元素的透明度,方法通过匹配元素的不透明度做动画效果。
.fadeToggle( [duration ] [, easing ] [, complete ] )通过匹配的元素的不透明度动画,来显示或隐藏它们,方法执行匹配元素的不透明度动画。当被可见元素调用时,元素不透明度一旦达到0,display样式属性设置为none ,所以元素不再影响页面的布局。
- 滑动
.slideDown( [duration ] [, easing ] [, complete ] )用滑动动画显示一个匹配元素,方法将给匹配元素的高度的动画,这会导致页面的下面部分滑下去,弥补了显示的方式。
.slideUp( [duration ] [, easing ] [, complete ] )用滑动动画隐藏一个匹配元素,方法将给匹配元素的高度的动画,这会导致页面的下面部分滑上去,当一个隐藏动画后,高度值达到0的时候,display 样式属性被设置为none,以确保该元素不再影响页面布局。 display 样式属性将被设置为none,以确保该元素不再影响页面布局。
.slideToggle( [duration ] [, easing ] [, complete ] )用滑动动画显示或隐藏一个匹配元素,方法将给匹配元素的高度的动画,这会导致页面中,在这个元素下面的内容往下或往上滑。display属性值保存在jQuery的数据缓存中,所以display可以方便以后可以恢复到其初始值。
- 自定义
.animate( properties [, duration ] [, easing ] [, complete ] )
.animate( properties, options )
如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
var $dom = $('#dom');
$dom.html('123') //设置元素内部 HTML 内容
$dom.html() //获取元素内部 HTML 内容
$dom.text('123') //设置元素内部文本
$dom.text() //获取元素内部文本
如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
var $input = $('#input');
$input.val('123') //设置input的内容
$input.val() //获取input的内容
$input.attr('type') //获取input的type属性
$input.attr('type','password') // 设置input的type属性
http://js.jirengu.com/haqokebofa/1/edit
http://js.jirengu.com/fojelaceho/1/edit
http://js.jirengu.com/famivohari/1/edit
http://js.jirengu.com/qiyatuxefu/1/edit