1. jQuery 中, $(document).ready()是什么意思?
.ready()函数可以传递一个函数,$(document).ready()表示当页面中的所有DOM加载完成后,执行某个函数
2. $node.html()和$node.text()的区别?
$node.html()可类比原生JS的innerHTML,获取集合中第一个匹配元素的HTML内容;如果传入参数,则设置每一个匹配元素的HTML内容。
$node.text()可类比原生JS的innerText,获取匹配元素集合中每个元素的文本内容结合,包括他们的后代;如果传入参数,则设置匹配元素集合中每个元素的文本内容为指定的文本内容。
3. $.extend 的作用和用法?
$.extend(target,objectN) 可以传递N个object,将这些object合并到target中,如果有相同的属性,后来的会覆盖之前的。
例如:
<script>
var object1 = {
a: 1,
b: 2
}
var object2 = {
b:3,
c:4
}
var target = {}
$.extend(targer,object1,object2) //target为{a: 1,b:3,c:4}
</script>
4. jQuery 的链式调用是什么?
jQuery的链式调用指的是方法的链式调用,即可以连续的调用方法
例:$node.animate().animate().animate()
$node.parents().children('.class').css()
5. jQuery 中 data 函数的作用
.data(key,value) 在匹配元素上储存任意相关数据
例:
<script>
$('div').data('a', 1) //key='a';value=1
$('div').data({b:2}) //直接传递一个object
$('div').data() //{a:1,b:2}
</script>
.data(key) 通过key,可以得到对应的value,在只传入一个参数key时,返回匹配的元素集合中的第一个元素的给定名称的数据存储的值
6. 写出以下功能对应的 jQuery 方法:
-
给元素 $node 添加 class active,给元素 $noed 删除 class active
$node.addClass('active') //添加 $node.removerClass('active') //删除
-
展示元素$node, 隐藏元素$node
$node.hide() //隐藏 $ndoe.show() //展示 $node.toggle() //隐藏和展示切换 $node.fadeIn() //显示 $ndoe.fadeOut() //隐藏 $node.fadeToggle() //切换 $node.slideDown() //显示 $node.slideUp() //隐藏 $node.slideToggle() //切换
-
获取元素$node 的 属性: id、src、title, 修改以上属性
$node.attr('id') $node.attr('src') $node.attr('title') $node.attr({id: 'haha', src: 'hehe', title: 'yaya'})
-
给$node 添加自定义属性data-src
$node.attr('data-src', 'test')
-
在$ct 内部最开头添加元素$node
$ct.prepend($node) $node.prependTo($ct)
-
在$ct 内部最末尾添加元素$node
$ct.append($node) $node.appendTo($ct)
-
删除$node
$node.detach() $ndoe.remove()
-
把$ct里内容清空
$ct.empty()
-
在$ct 里设置 html <div class="btn"></div>
$ct.html('<div class="btn"></div>')
-
获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)
$node.height() $node.width() //不包括内外边距、边框 $node.innerHeight() $node.innerWidth() //再加上内边距 $node.outerHeight() $node.outerWidth() //再加上边框 $node.outerHeight(true) $ndoe.outerWidth(true) //再加上外边距
-
获取窗口滚动条垂直滚动距离
$(window).scrollTop
-
获取$node 到根节点水平、垂直偏移距离
$node.offset()
-
修改$node 的样式,字体颜色设置红色,字体大小设置14px
$node.css({color: 'red',front-size: '14px'})
-
遍历节点,把每个节点里面的文本内容重复一遍
$node.each(function(){ var text = $(this).text() text += $(this).text() $(this).text(text) })
-
从$ct 里查找 class 为 .item的子元素
$ct.children('.item')
-
获取$ct 里面的所有孩子
$ct.find()
-
对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子
$node.parents('.ct').find('.panel')
-
获取选择元素的数量
$node.length
-
获取当前元素在兄弟中的排行
$node.index()
7. 用jQuery实现以下操作
-
当点击$btn 时,让 $btn 的背景色变为红色再变为蓝色
$btn.click(function(){ $btn.css('background','red') setTimeout(function(){$btn.css('background','blue')},500) })
-
当窗口滚动时,获取垂直滚动距离
$(window).on('scroll',function(){ console.log($(window).scrollTop()) })
-
当鼠标放置到$div 上,把$div 背景色改为红色,移出鼠标背景色变为白色
$div.on('mouseenter',function(){ $div.css({'background-color': 'red'}) }) $div.on('mouseout',function(){ $div.css({'background-color': 'white'}) })
-
当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> <script src="https://libs.baidu.com/jquery/1.9.0/jquery.min.js"></script> </head> <body> <input type="text"> <script> $('input').on('input',function(){ var text = $(this).val().toUpperCase() $(this).val(text) }) $('input').blur(function(){ console.log($(this).val()) }) </script> </body> </html>
-
当选择 select 后,获取用户选择的内容
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> <script src="https://libs.baidu.com/jquery/1.9.0/jquery.min.js"></script> </head> <body> <select> <option value='option1'>option1</option> <option value='option2'>option2</option> </select> <script> $('select').change(function(){ $('select option:selected').each(function(){ console.log($(this).text()) }) }) </script> </body> </html>
网友评论