jQuery 中, $(document).ready()是什么意思?
- 描述: 当DOM准备就绪时,指定一个函数来执行。
- 虽然JavaScript提供了load事件,当页面执呈现时用来执行这个事件,直到所有的东西,如图像已被完全接收前,此事件不会被触发。在大多数情况下,只要DOM结构已完全加载时,脚本就可以运行。传递处理函数给.ready()方法,能保证DOM准备好后就执行这个函数。当使用的脚本依赖 CSS 属性值时,需要特别注意,要保证外部的样式或内嵌的样式被加载完后,再调用脚本。
$node.html()和$node.text()的区别?
- html()用于获取集合中第一个匹配元素的HTML内容 或 设置每一个匹配元素的html内容。
- text()用于得到匹配元素集合中每个元素的文本内容结合,包括他们的后代,或设置匹配元素集合中每个元素的文本内容为指定的文本内容。
- 区别:传给html()的参数会被当作html代码解析,而传给text()的参数只会被当作文本。
$.extend 的作用和用法?
作用: 将两个或更多对象的内容合并到第一个对象。
-
用法:
var a = {a:1, b:2} var b = {b:3, c:4, d:5} $.extend(a, b) //{a: 1, b: 3, c: 4, d: 5} a //{a: 1, b: 3, c: 4, d: 5} var c = {} $.extend(c, a, b) //{a: 1, b: 3, c: 4, d: 5} c //{a: 1, b: 3, c: 4, d: 5}
jQuery 的链式调用是什么?
- 可以连续的使用 jQuery 方法的过程叫做 链式调用。
- jQuery是通过在调用方法后返回这个调用对象来实现链式调用的。
jQuery 中 data 函数的作用
-
作用:在匹配元素上存储任意相关数据 或 返回匹配的元素集合中的第一个元素的给定名称的数据存储的值。示例:
<div> The values stored were <span></span> and <span></span> </div> <script> // 从div元素储存一个值。 $("div").data("test", { first: 16, last: "pizza!" }); // 从div元素储存的值中取出值。 $("span:first").text($("div").data("test").first); $("span:last").text($("div").data("test").last); </script>
写出以下功能对应的 jQuery 方法:
-
给元素 $node 添加 class active,给元素 $noed 删除 class active
$node.addClass('active') $node.removeClass('active')
-
展示元素$node, 隐藏元素$node
$node.show() $node.hide()
-
获取元素$node 的 属性: id、src、title, 修改以上属性
var id = $node.attr('id') var src = $node.attr('src') var title = $node.attr('title') $node.attr({ id: '001', src: './img.gif', title: 'img' })
-
给$node 添加自定义属性data-src
$node.attr("data-src", "123")
-
在$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.height() $node.height(100) $node.width() $node.width(100) 包括内边距: $node.innerHeight() $node.innerWidth() 包括内边距、边框: $node.outerHeight() $node.outerWidth() 包括内边距、边框、外边距: $node.outerHeight(true) $node.outerWidth(true) 内边距、边框、外边框设置: $node.css({ border: '1', padding: '10', margin: '10' })
-
获取窗口滚动条垂直滚动距离
$node.scrollTop()
-
获取$node 到根节点水平、垂直偏移距离
var offset = $node.offset() offset.left offset.top
-
修改$node 的样式,字体颜色设置红色,字体大小设置14px
$node.css({ color: 'red', font-size: '14' })
-
遍历节点,把每个节点里面的文本内容重复一遍
$node.each(function(i) { var str = $(this).text() $(this).text(str + str) })
-
从$ct 里查找 class 为 .item的子元素
$ct.find('.item')
-
获取$ct 里面的所有孩子
$ct.children()
-
对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子
$node.parents('.ct').children('.panel')
-
获取选择元素的数量
$('div').length
-
获取当前元素在兄弟中的排行
$node.index()