jQuery 能做什么?
jQuery是一个Javascript库,可以让用户更简单的进行HTML文档DOM遍历、操作、事件处理、动画,以及使用Ajax。且具有多浏览器兼容性。
jQuery 对象和 DOM 原生对象有什么区别?如何转化?
- jquery选择器得到的jquery对象和标准的javascript中document.getElementById()取得的dom对象是两种不同的对象类型,两者不等价;
- jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法. 乱使用会报错。
转换
$('#id') 得到jquery对象
$('#id')[0] or $('#id').get(0) 转换为DOM原生对象
var domO = document.querySelector('#id') 得到DOM对象
$(domO) 转换为jquery对象
jQuery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
on(events,[selector],[data],fn)
在选择元素上绑定一个或多个事件的事件处理函数。
on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。在jQuery 1.7中,.on()方法 提供绑定事件处理程序所需的所有功能。
- events: 一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。
- selector: 一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。
- data: 当一个事件被触发时要传递event.data给事件处理函数。
fn: 该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。
off(events,[selector],[fn])
在选择元素上移除一个或多个事件的事件处理函数。
- events: 一个或多个空格分隔的事件类型和可选的命名空间,或仅仅是命名空间,比如"click", "keydown.myPlugin", 或者 ".myPlugin".
- selector: 一个最初传递到.on()事件处理程序附加的选择器。
fn: 事件处理程序函数以前附加事件上,或特殊值false.
其它几个基本弃用 GG了 使用 on off 就可以了
$(document).on('click','li.ct',function(){
alert("hi");
});
//document检测到点击时,匹配事件源为li且类名含ct的元素,并绑定事件。
jQuery 如何展示/隐藏元素?
hide([speed,[easing],[fn]])
隐藏显示的元素
- speed: 三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
- easing: (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
- fn: 在动画完成时执行的函数,每个元素执行一次。
show(([speed,[easing],[fn]])
显示隐藏的匹配元素。
- speed: 三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
- easing: (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
- fn: 在动画完成时执行的函数,每个元素执行一次。
toggle([speed],[easing],[fn]
如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
- speed: 隐藏/显示 效果的速度。默认是 "0"毫秒。可能的值:slow,normal,fast。"
- easing: (Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
fn: 在动画完成时执行的函数,每个元素执行一次。
jQuery 动画如何使用?
animate(params,[speed],[easing],[fn])
用于创建自定义动画的函数。这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left
- params:一组包含作为动画属性和终值的样式属性和及其值的集合
- speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
- easing:要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".
- fn:在动画完成时执行的函数,每个元素执行一次。
$("#go").click(function(){
$("#block").animate({
width: "90%",
height: "100%",
fontSize: "10em",
borderWidth: 10
}, 1000 );
});
$('#btn').on('click',function(){
var actions = [
{width:80,height:80,left:0,top:0},
{width:60,height:60,left:100},
{top:100},
{left:0},
{top:0}
]
actions.forEach(function(action,index){
$('.box').animate(action,500)
})
})
$("#block").animate().animate().animate()
调用方法返回值还是jquery对象 所以可以一直调用 或者这么写
$("#block").animate()
.animate()
.animate()
如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
$(元素).html();//不传参则获取html内容
$(元素).html('<li>111</li>');//传参则改变元素内部html内容为所传参数
$(元素).text();//不传参则获取元素内部的文字信息
$(元素).text('hi');//元素内部文字信息设置为'hi'.
如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
$('input').val()//获取input里面的内容
$('input').val('123')//修改input的值
$('input:checked').val()//获取选择的value
$('input:checked').val('23')//修改选择的value
$("img").attr("src");//获取img的src
$("img").attr({ src: "test.jpg", alt: "Test Image" });//为所有图像设置src和alt属性