进阶15-jQuer常见操作,jQu ajax使用

题目1: jQuery 中, $(document).ready()是什么意思?

dom结构全部加载后再执行对其绑定的函数
当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件。
ready() 函数规定当 ready 事件发生时执行的代码。
ready() 函数仅能用于当前文档,因此无需选择器。
如果执行的代码需要在元素被加载之后才能使用时, (如取得图片的大小需要在图片被加载完后才能知道), 就需要将这样的代码放到load事件中。

$(document).ready(function(){

})
$(function(){

})//一般推荐用此种方法,上一种方法在jQuery3.0中效率较低

题目2: node.text()的区别?

node.html() 获取元素HTML内容,包括html标签和文本内容,.html() 方法来获取任意一个元素的内容。 如果选择器匹配多个元素,那么只有第一个匹配元素的 HTML 内容会被获取。设置每一个匹配元素的html内容。node.text() 获取匹配元素集合中每个元素的合并文本,包括他们的后代,不包括标签。设置匹配元素集合中每个元素的文本内容为指定的文本内容。

  

你好

console.log($('.box').html()) //

你好

console.log($('.box').text()) // 你好

题目3: $.extend 的作用和用法?

是用来功能扩展的,将两个或更多对象的内容合并到第一个对象里。

var obj1 = {a:1}
var obj2= {b:2, c:3 }
var obj3 = {b:3, d:5}
var obj4 = {}
$.extend(obj1, obj2) // {a: 1, b: 2, c: 3}
$.extend(obj1, obj2, obj3) //{a: 1, b: 2, c: 3, d:5}
$.extend(obj4, obj1, obj2, obj3) //{a: 1, b: 2, c: 3, d:5}
var obj5 = $.extend({}, obj1, obj2, obj3)
console.log(obj5) //{a: 1, b: 2, c: 3, d:5}

题目4: jQuery 的链式调用是什么?

含义: 分步骤的对jQuery对象使用方法后继续调用方法,不用再次选择jQuery对象。
原理: 通过对象上的方法最后return this 把对象再返回回来, 对象当然可以继续调用方法。
作用:使代码排版清晰,便于查看执行流程。

题目5: jQuery 中 data 函数的作用

在匹配元素上存储任意相关数据,返回匹配的元素集合中的第一个元素的给定名称的数据存储的值。
.data( key, value )
.data(key)
key:string类型,储存的数据名
value:任意类型,除了undefined
1.如果元素没有设置任何值将返回undefined
2.HTML5 data-属性自动被引用到jQuery的数据对象中,data-属性是在第一次使用这个数据属性后不再存取或改变
3.调用.data()如果不带参数,将会以JavaScript对象的形式获取所有数据,这个对象可以安全存放在变量中,因为他的提取对之后进行的.data(obj)操作不会干扰
4.直接操作这个对象会比每次调用.data()来设置或获取值要快一些

题目6:

写出以下功能对应的 jQuery 方法:
给元素 noed 删除 class active

$node.addClass('active')
$node.removeClass('active')

展示元素node

$(node).show()
$(node).hide()

获取元素$node 的 属性: id、src、title, 修改以上属性

$node.attr('id', 'ct')
$node.attr('src', 'http://www.baidu.com')
$node.attr('title', 'hello')

给$node 添加自定义属性data-src

$node.attr('data-src', 'http://www.baidu.com//#115')

在node

$ct.prepend($node)
$node.prepend($ct)

在node

$ct.append($node)
$node.append($ct)

删除$node

$node.remove()

把$ct里内容清空

$ct.empty()

在$ct 里设置 html

$ct.append('
')

获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)
不包括内边距(不加padding不加border)

$node.width()
$node.height()

包括内边距(加padding不加border)

$node.innerWidth()
$node.innerHeight()

包括边框(加padding加border)

$node.outerWidth()
$node.outerHeight()
//()里默认是false

包括外边距(加padding加border加margin)

$node.outerWidth(true)
$node.outerHeight( true )
//这个true的位置可以放表示像素的数字(或者数字加单位),也可以放字符串

获取窗口滚动条垂直滚动距离

$node.scrollTop()

获取$node 到根节点水平、垂直偏移距离

$node.offset()

修改$node 的样式,字体颜色设置红色,字体大小设置14px

$node.css({
  'color': 'red',
  'font-size':'14px'
})

遍历节点,把每个节点里面的文本内容重复一遍

$node.each(function(){
  var str = $(this).text()
  $(this).text(str + str)
})

从$ct 里查找 class 为 .item的子元素

$ct.find('.item')

获取$ct 里面的所有孩子

$ct.children()

对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子

$node.parents('.ct').find('.panel')

获取选择元素的数量

$node.length

获取当前元素在兄弟中的排行

$node.index()

题目7:

当点击btn 的背景色变为红色再变为蓝色
效果
代码

当窗口滚动时,获取垂直滚动距离
效果
代码

当鼠标放置到div 背景色改为红色,移出鼠标背景色变为白色
效果
代码

当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字
效果
代码

当选择 select 后,获取用户选择的内容
效果
代码

题目8: 用 jQuery ajax 实现如下效果。当点击加载更多会加载数据展示到页面

页面代码
后台代码

进阶15-jQuer常见操作,jQu ajax使用_第1张图片

你可能感兴趣的:(进阶15-jQuer常见操作,jQu ajax使用)