进阶任务十四
题目1: jQuery 能做什么?
-
选择网页元素
-
改变结果集
-
元素的操作:取值和赋值
-
元素的操作: 移动
-
元素的操作: 复制、删除和创建
-
工具方法
-
事件操作
-
特殊效果
-
AJAX
题目2: jQuery 对象和 DOM 原生对象有什么区别?如何转化?
-
jquery对象通常用jquery的方法$('')来得到,可以使用jquery提供的方法来操作html的数据
-
DOM原生对象只能用js提供的方法,如getElementById,getElementByTagName,有的获取的是一个元素,有的获取的是一个数组。
-
DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。
-
JQuery对象转化Dom对象:
$('#id')[index]
-
DOM对象转化JQuery对象:
$(document.querySeletor('#id'))
题目3:jQuery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
-
.on(event [,selector] [,data] [,handler(eventObject)])
-
event:一个dom事件类型字符串,在后面加.xx可以方便后面off(event.xx)
-
selector:事件代理时使用,指定触发事件的元素,会随着dom节点改变而改变
-
data:当一个事件被触发,传递给处理函数的内容,通过event.data访问(好像没啥卵用)
-
handler事件处理函数
-
-
.off(events [,selector] [,handler])
- 移除 on 事件,当有多个过滤参数时需全部匹配才可移除
-
.bind()
- 是为一个元素绑定一个事件处理 (3.0中被表为弃用)
-
.unbind()
- 是为一个元素绑定一个事件处理 (3.0中被表为弃用)
-
.delegate()
- 为所有匹配选择器的元素绑定一个或多个事件处理函数,基于一个指定的根元素的子集 (3.0中被表为弃用)
-
.live()
- 从jQuery1.7开始弃用,旧版本jq用.delegate()替代之
题目4:jQuery 如何展示/隐藏元素?
// css 操作
.status {
display: none;
}
var $ul = $('ul')
$ul.addClass('statuse') //隐藏
$ul.removeClass('status') //展示
var $ul = $('ul')
$ul.css('display', 'block')
$ul.css('display', 'none')
// jQuery 动画
var $ul = $('ul')
$ul.hide() //隐藏
$ul.show() // 展示
题目5: jQuery 动画如何使用?
$(selector).animate(properties [,duration] [,easing] [,complete])
-
properties是一个CSS属性和值的对象,动画将根据这组对象移动。
-
duration 持续时间,默认是400毫秒
-
easing 线性变化
-
complete 动画完成时执行的函数
$('ul').click(function() {
$('li').animate({
opacity: 0.25,
left: '+=50',
}, 5000, function() {
// Animation complete.
});
});
题目6:如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
$(selector).html() //获取html
$(selector).html('html元素') //设置html内容
$(selector).text() // 获取元素内部文本
$(selector).text('paper') //设置内部文本内容
题目7:如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
$(selector).val() //获取input的value值
$(selector).var(string) //设置input的value的值
$(selector).attr('attrbuteName') //获取元素属性
$(selector).attr('attrbuteName','newAttribute') //设置元素属性的值
题目8: 使用 jQuery实现如下效果
题目9: 使用 jQuery实现如下效果
题目10: 使用 jQuery实现如下效果
题目11: 使用 jQuery实现如下效果