题目1: 说说库和框架的区别?
框架(framework): 开发者按照框架的规定的语法去做一些事
库(library):一个代码集合成的产品,相当于一个个称手的小工具.可以用它简化自己的代码
库和框架最大的区别是:
- 当你在调用库的时候, 你可以按照自己的意愿来控制他
- 而对于框架, 是他在调用你
题目2: jquery 能做什么?
jQuery是一套跨浏览器的JavaScript库,强化HTML与JavaScript之间的操作。它的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作"。
还提供了很多易于使用且兼容众多浏览器的API,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。
题目3: jquery 对象和 DOM 原生对象有什么区别?如何转化?
jQuery对象,就是通过jQuery包装DOM对象后产生的对象,它有一系列jQuery方法,但不能使用DOM的任何方法。
<script>
//原生JS -> jQuery 用$()包裹起来
var btn = document.getElementById("btn");
var $btn = $(btn); // jQuery 对象
//jQuery -> 原生JS
// jQuery对象是一个数组对象,可以通过 [index] 的方式,来得到相应的 DOM 对象。
var $btn = $("#btn"); // jQuery对象
var btn = $btn[0]; // DOM对象
//通过get(index) 方法,来得到相应的 DOM 对象。
$btn.get(0); // DOM对象
</script>
题目4:jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
bind : 为一个元素绑定一个事件处理程序。
unbind : 从元素上删除一个以前附加事件处理程序。
delegate : 为所有匹配选择器(selector参数)的元素绑定一个或多个事件处理函
live : 附加一个事件处理器到符合目前选择器的所有元素匹配,现在和未来。
on : 在选定的元素上绑定一个或多个事件处理函数。
off : 移除一个事件处理函数。
推荐使用on与off来绑定或解绑事件,其他的都是1.7版本以前已经过时的方法,旧版本jQuery应优先使用delegate动态绑定事件而不是live
//事件代理
$(父元素).on('events', '过滤出能触发事件的后代元素', function(){})
题目5:jquery 如何展示/隐藏元素?
- 先定位到元素,再修改CSS的display
$('.ct').css('display', 'block'); //显示元素
$('.ct').css('display','none'); //隐藏元素
- 使用jquery自带的效果
$('.ct').hide() //隐藏
$('.ct').show() //显示
$('.ct').toggle(display) //display是布尔值, true 显示元素, false 隐藏
题目6: jquery 动画如何使用?
$('.ct').animate({
opacity: 0.25, //透明度
left: '+=50', //向左偏移
height: 200px, //高度变化
}, 5000) //持续时间,5s
//jquery预定了三种速度的字符串("slow", "normal", 或 "fast")
题目7:如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
//html([string]), 一个读写两用的方法,用于获取/修改元素的innerHTML
$('.ct').html() //当没有传递参数的时候,返回元素的innerHTML
$('.ct').html('xxx') //当传递了一个string参数的时候,修改元素的innerHTML为参数值
//text()和html()类似,操作的是DOM的innerText值
题目8:如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
.val([value]): 这是一个读写双用的方法,用来处理input的value,当方法没有参数的时候返回input的value值,当传递了一个参数的时候,方法修改input的value值为参数值
.attr(attributeName) :获取元素特定属性的值
.attr(attributeName,value) 为元素属性赋值
网友评论