1、jQuery 中, $(document).ready()是什么意思?
就是必须在DOM全部加载完毕后调用js代码(或者这样写$.ready()),HTML文件浏览器逐行解析,当JS文件放在前面时,DOM还未加载,此时调用JS文件执行就可能会出错,为避免出错,需要保证 JS 在 DOM 完全加载完成后执行。jQuery 的 ready 方法就是这个目的。此时不管这段代码写在哪里,都相当于写在 body 的末尾,最后执行。
2、$node.html()和$node.text()的区别?
a)$node.html():获取元素内html标签加文本内容。
b)$node.text():只获取元素内的文本内容。
3、 $.extend 的作用和用法?
1、extend({},src1,src2,src3...)
它的含义是将src1,src2,src3…合并到{}中,返回值为合并后的{},后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值
var obj1 = {a:1,b:1}
var obj2 ={b:2,c:3}
var obj3 = {}
$.extend(obj3,obj1,obj2)//{a: 1, b: 2, c: 3}
2、extend(boolean,dest,src1,src2,src3...)
第一个参数boolean代表是否进行深度拷贝,其余参数和前面介绍的一致,举个例子
var result=$.extend( true, {}, { name: "John", location: {city: "Boston",county:"USA"} },
{ last: "Resig", location: {state: "MA",county:"China"} } )
result={name:"John",last:"Resig",location:{city:"Boston",state:"MA",county:"China"}}
var result=$.extend( false, {}, { name: "John", location:{city: "Boston",county:"USA"} },
{ last: "Resig", location: {state: "MA",county:"China"} } )
result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}
4、jQuery 的链式调用是什么?
当jQuery方法函数执行完以后,返回的值依然是当前对像,所以可以继续调用其余方法,这样就形成了一种链式调用。
$node.addClass().html().removeClass()
5、jQuery 中 data 函数的作用
data() 方法向被选元素附加数据,或者从被选元素获取数据。 通过data()函数存取的数据都是临时数据,一旦页面刷新,之前存放的数据都将不复存在。 移除通过data()函数存放的数据,用 removeData() 函数。
$node.data('dk','ll')
$node.data('dk') //返回ll
6、写出以下功能对应的 jQuery 方法:
给元素 $node 添加 class active,给元素 $noed 删除 class active
$node.addClass("active")
$node.removeClass("active")
展示元素$node, 隐藏元素$node
$node.show()
$node.hide()
获取元素$node 的 属性: id、src、title, 修改以上属性
//获取
$('#dd').attr('id')
$('#dd').attr('src')
$('#dd').attr('title')
//修改
$('#dd').attr('id','vaule')
$('#dd').attr('src','vaule')
$('#dd').attr('title','vaule')
给$node 添加自定义属性data-src
$node.attr('data-src','val');
在$ct 内部最开头添加元素$node
$ct.prepend($node);
$node.prependTo($ct)
在$ct 内部最末尾添加元素$node
$ct.append($node)
$node.appendTo($ct)
删除$node
$node.remove();
把$ct里内容清空
$ct.empty();
在$ct 里设置 html <div class="btn"></div>
$ct.html('<div class="btn"></div>')
获取设置$node 的宽度高度(分别不包括内边距、包括内边距、包括边框、包括外边距)
$node.width(); //不包括内边距
$node.height(); //不包括内边距
$node.innerWidth(); //包括内边距
$node.innerHeight(); //包括内边距
$node.outerWidth(); //包括边框
$node.outerHeight(); //包括边框
$node.outerWidth(true); //包括外边距
$node.outerHeight(true); //包括外边距
获取窗口滚动条垂直滚动距离
$(window).scrollTop();
获取$node 到根节点水平、垂直偏移距离
$node.offset().left
$node.offset().top
修改$node 的样式,字体颜色设置红色,字体大小设置14px
$("node").css({
'color':'red',
'font-size':'14px'
})
遍历节点,把每个节点里面的文本内容重复一遍
$("node").each(function(){
$(this).text($(this).text() + $(this).text())
})
从$ct 里查找 class 为 .item的子元素
$ct.find('.item')
获取$ct里面的所有孩子
$ct.children()
对于$node,向上找到 class 为’.ct’的父亲,在从该父亲找到’.panel’的孩子
$node.parents(".ct").find(".panel")
获取选择元素的数量
$node.length
获取当前元素在兄弟中的排行
$node.index()
网友评论