美文网首页
jQuery,ajax

jQuery,ajax

作者: 曾祥辉 | 来源:发表于2017-10-07 03:24 被阅读0次

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

当DOM加载完成后执行方法.ready()中传递的函数。

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

  • $node.html()获取html部分包括元素的标签
    当.html()方法带参数时,会修改html的内容
//html代码
<p>段落</p>
//jQuery代码
$('p').html()//<p>段落</p>
$('p').html('<span>修改内容</span>')
//html代码
<span>修改内容</span>
  • $node.text()获取html中的内容,不包括元素的标签
    当.text()方法带参数时,会修改html标签中的内容
//html代码
<p>段落</p>
//jQuery代码
$('p').text()//修改内容
$('p').text('修改内容')
//html代码
<p>修改内容</p>

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

  • 作用:用一个或多个其他对象来扩展一个对象,返回被扩展的对象。
  • 用法:
var a = { key: false, index: 5, name: "foo" };
var b = { key: true, name: "bar" };
$.extend(settings, options);
//结果
settings == { key: true, index: 5, name: "bar" }

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

jQuery 的链式调用例子:

$node.addClass().removeClass().eq().find()

jQuery所有对象的方法返回的都是对象本身,所以在方法A后可以继续调用方法B等同于jQuery直接调用方法B。

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

data函数的作用是在元素上存放或读取数据,返回jQuery对象
语法:

data([key],[value])
//key:存储的数据名
//value:将要存储的任意数据
//当参数只有一个key的时候,为读取该jQuery对象对应DOM中存储的key对应的值
//当参数为两个时,为像该jQuery对象对应的DOM中存储key-value键值对的数据。
//html代码
<div></div>
//jQuery代码
$("div").data("blah");  // undefined
$("div").data("blah", "hello");  // blah设置为hello
$("div").data("blah");  // hello
$("div").data("blah", 86);  // 设置为86
$("div").data("blah");  //  86
$("div").removeData("blah");  //移除blah
$("div").data("blah");  // undefined

题目6:写出以下功能对应的 jQuery 方法:

  • 给元素 $node 添加 class active
$node.addClass('active')
  • 给元素 $noed 删除 class active
$node.removeClass('active')
  • 展示元素$node, 隐藏元素$node
$node.show()//展示
$node.hide()//隐藏
  • 获取元素$node 的 属性: id、src、title, 修改以上属性
var $id = $node.attr('id')
$id.attr('id','xxx')
var $src = $node.attr('src')
$src.attr('src','xxx')
var $title = $node.attr('title')
$title.attr('title','xxx')
  • 给$node 添加自定义属性data-src
$node.attr('data-src','url')
  • 在$ct 内部最开头添加元素$node
$node.append($ct)
  • 在$ct 内部最末尾添加元素$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()
  • 修改$node 的样式,字体颜色设置红色,字体大小设置14px
$node.css({
  "color":"red",
  "font-size":"14px"
})
  • 遍历节点,把每个节点里面的文本内容重复一遍
$( "li" ).each(function( index ) {
  console.log($(this).text() );
})
  • 从$ct 里查找 class 为 .item的子元素
$ct.find('.item')
  • 获取$ct 里面的所有孩子
$ct.children()
  • 对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子
$node.parents('.ct').find('.panel')
  • 获取选择元素的数量
$node.length
  • 获取当前元素在兄弟中的排行
var index = $node.index()

题目7:

用jQuery实现以下操作当点击$btn 时,让 $btn 的背景色变为红色再变为蓝色
当窗口滚动时,获取垂直滚动距离
当鼠标放置到$div 上,把$div 背景色改为红色,移出鼠标背景色变为白色
当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字
当选择 select 后,获取用户选择的内容

demo

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

demo

//后台mock代码
app.get('/loadMore', function (req, res) {
  var idx = req.query.index
  var len = req.query.length
  var ret = []
    for(var i = 0;i<len ; i++){
    ret.push("内容"+(parseInt(idx)+i))
  }
  res.send(ret)

相关文章

网友评论

      本文标题:jQuery,ajax

      本文链接:https://www.haomeiwen.com/subject/juzrlxtx.html