1.jQuery 中, $(document).ready()是什么意思?
$(document).ready()方法:为防止文档在完全加载(就绪)之前运行Jquery代码。若在文档未完全加载前就运行函数,操作可能失败。必须在文档加载完后执行操作,可使用ready事件,作用相当于把js写到body末尾。
$(document).ready(function(){
});
可简写为:
$(function(){
})
window.onload:必须等网页中所有的元素全部加载完毕,才能执行
不能同时写多个,否则后面覆盖前面。
2.$node.html()和$node.text()的区别?
- $node.html() 获取$node里的html标签和文本信息
- $node.text() 获取$node里的文本信息,不包含html标签
3.$.extend 的作用和用法?
- $.extend()将多个对象合并到一起,可以传入多个参数。$.extend([deep,] target,…),[deep,]为布尔值默认情况不是深拷贝,可设置true为深拷贝。
4. jQuery 的链式调用是什么?
- jQuery返回对象还是当前对象(return this)时,可以使用类似链子一样的方式进行jQuery方法的调用,如:
$(#ct).css('color','blue').show(400).hide();
5.jQuery 中 data 函数的作用
-
在匹配元素上存储任意相关数据 或 返回匹配的元素集合中的第一个元素的给定名称的数据存储的值。
.data( key, value ) **key** 类型: [String](http://www.jquery123.com/Types/#String) 一个字符串,用户存储数据的名称。(译者注:存储的数据名) **value** 类型: [Object](http://www.jquery123.com/Types/#Object) 新的数据值;它可以是任意的Javascript数据类型,包括Array 或者 Object。 添加的版本: [1.4.3](http://www.jquery123.com/category/version/1.4.3/).data( obj ) **obj** 类型: [Object](http://www.jquery123.com/Types/#Object) 一个用于更新数据的 键/值对 $("body").data("foo", 52); $("body").data("bar", { myType: "test", count: 40 }); $("body").data({ baz: [ 1, 2, 3 ] }); $("body").data("foo"); // 52 $("body").data(); // { foo: 52, bar: { myType: "test", count: 40 }, baz: [ 1, 2, 3 ] }
6.写出以下功能对应的 jQuery 方法:
-
给元素 $node 添加 class active,给元素 $noed 删除 class active
$node.attr('class','active') $node.removeAttr('class')
-
展示元素$node, 隐藏元素$node
$box.show() $box.hide()
获取元素$node 的 属性: id、src、title, 修改以上属性
-
获取:
$img.attr('src') $img.attr('id') $img.attr('title')
-
修改:
$img.attr('src','http://t10.baidu.com/it/u=1469844558,3932374131&fm=58') .attr('id','img_1') .attr('title','内链')
-
给$node 添加自定义属性data-src
$node.data('src','http://t10.baidu.com/it/u=1469844558,3932374131&fm=58')
-
在$ct 内部最开头添加元素$node
$ct.prepend($node)
-
在$ct 内部最末尾添加元素$node
$ct.append($node)
-
删除$node
$node.remove()
-
把$ct里内容清空
$ct.empty()
在$ct 里设置 html <div class="btn"></div>
$ct.html('<div class="btn"></div>')
或
$ct.append('<div class="btn"></div>')获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)
-
获取
$box.width() //只有内容宽度 $box.innerWidth() //包括内边距 $box.outerWidth() //包括内边距、外边框 $box.outerWidth(true) //包括内边距、外边框、外边距 $box.height() //只有内容高度 $box.innerHeight() //包括内边距 $box.outerHeight() //包括内边距、外边框 $box.outerHeight(true) //包括内边距、外边框、外边距
-
设置
$box.css({'width': '200px', 'height': '200px','border-color': 'green','margin':'20px','padding':'20px;'})
-
获取窗口滚动条垂直滚动距离
$(window).scroll()
-
获取$node 到根节点水平、垂直偏移距离
$node.offset()
-
修改$node 的样式,字体颜色设置红色,字体大小设置14px
$node.css({"color":"red","font-size":"14px"})
-
遍历节点,把每个节点里面的文本内容重复一遍
$node.each(function(){ console.log($(this).text()) })
-
从$ct 里查找 class 为 .item的子元素
$ct.find('.item')
-
获取$ct 里面的所有孩子
$ct.children()
-
对于$node,向上找到 class 为’.ct’的父亲,在从该父亲找到’.panel’的孩子
$node.parents('.ct').find('.panel')
-
获取选择元素的数量
$node.length $node.size()
-
获取当前元素在兄弟中的排行
$node.index()
7.用jQuery实现以下操作
- 当点击$btn 时,让 $btn 的背景色变为红色再变为蓝色
- 当窗口滚动时,获取垂直滚动距离
- 当鼠标放置到$div上,把$div 背景色改为红色,移出鼠标背景色变为白色
- 当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字
- 当选择 select 后,获取用户选择的内容
代码及效果展示