1.jQuery 中, $(document).ready()是什么意思?
当DOM加载完成后执行该函数
2.$node.html()和$node.text()的区别?
- $node.html():返回该节点下的html内容(包括html标签)。
- $node.text():返回该节点下的文本内容(不包括html标签)。
3.$.extend 的作用和用法?
- 用法:jQuery.extend([deep,] target [, object1 ] [, objectN ] );
- 作用
- 当我们提供两个或多个对象给$.extend(),对象的所有属性都添加到目标对象(target参数)。
- 如果只有一个参数提供给$.extend(),这意味着目标参数被省略。在这种情况下,jQuery对象本身被默认为目标对象。这样,我们可以在jQuery的命名空间下添加新的功能。这对于插件开发者希望向 jQuery 中添加新函数时是很有用的。
- 如果想保留原对象:var object = $.extend({}, object1, object2);
4.jQuery 的链式调用是什么?
在对象上一次性调动多个方法,利用方法返回this实现
$(this).addClass("active").siblings().removeClass("active")
5.jQuery 中 data 函数的作用
- 作用:data方法允许在DOM元素上绑定任意类型的数据,避免了循环引用的内存泄漏风险。
- 语法:$(“selector”).data(key, value)。
6.写出以下功能对应的 jQuery 方法:
- 给元素 $node 添加 class active,给元素 $noed 删除 class active
$(node).addClass('active');
$(node).removeClass('active');
- 展示元素$node, 隐藏元素$node
$node.show();
$node.hide();
- 获取元素$node 的 属性: id、src、title, 修改以上属性
$node.attr('id')
$node.attr('src')
$node.attr('title')
$node.attr({
id: "abc",
src: "aaa",
title: "aaa"
})
- 给$node 添加自定义属性data-src
$node.data($node[0],"src", xxx);
- 在$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>)
- 获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)
不包括内边距
$node.width();
$node.height();
包括内边距
$node.innerWidth();
$node.innerHeght();
包括边框
$node.outerWidth();
$node.outerHeight();
包括外边距
$node.outerWidth(true);
$node.outerHeight(true);
- 获取窗口滚动条垂直滚动距离
$(window).scrollTop();
- 获取$node 到根节点水平、垂直偏移距离
$node.offset()
- 修改$node 的样式,字体颜色设置红色,字体大小设置14px
$node.css({
"color": "red",
"font-size": "14px"
})
- 遍历节点,把每个节点里面的文本内容重复一遍
$node.each(function(){
console.log($(this).text())
})
- 从$ct 里查找 class 为 .item的子元素
$ct.index('.item');
- 获取$ct 里面的所有孩子
$ct.children();
- 对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子
$node.parents('.ct').find('.panel');
- 获取选择元素的数量
$node.length
- 获取当前元素在兄弟中的排行
$node.index();