美文网首页
进阶任务十五

进阶任务十五

作者: 饥人谷_迪 | 来源:发表于2017-12-18 17:58 被阅读0次

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

    • 当DOM准备就绪时,指定一个函数来执行。

    • 也可以写成

    $(function(){
      console.log();
    })
    

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

    • $node.html()作用是 取得第一个匹配元素的html内容,如果$node匹配多于一个的元素,那么只有第一个匹配元素的HTML 内容会被获取。与DOM对象的innerHTML属性类似。

    • $node.text()作用是 取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。与DOM对象的innerText属性类似。

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

    • 作用:当我们提供两个或多个对象给$.extend(),对象的所有属性都添加到目标对象(target参数)。

    用法

    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() 方法允许我们在DOM元素上绑定任意类型的数据,避免了循环引用的内存泄漏风险。

    .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 方法:

    给元素 $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', 'prod')
    $node.attr('src', 'hhtp: //www.baidu.com')
    $node.attr('title', 'brief')
    

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

    $node.attr('data-src', 'www.baidu.com')
    

    在$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.append('<div class="btn"></div>')
    

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

    • 不包括内边距(不加padding,border)
    $node.width()
    $node.height()
    
    • 包括内边距(加padding,不加border)
    $node.innerWidth()
    $node.innerHeight()
    
    • 包括外边距(加,padding,border,margin)
    $node.outerWidth(true)
    $node.outerHeight(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:用jQuery实现以下操作

    当点击$btn 时,让 $btn 的背景色变为红色再变为蓝色

    代码

    当窗口滚动时,获取垂直滚动距离

    代码

    当鼠标放置到$div 上,把$div 背景色改为红色,移出鼠标背景色变为白色

    代码

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

    代码

    当选择 select 后,获取用户选择的内容

    代码

    题目:8

    代码

    相关文章

      网友评论

          本文标题:进阶任务十五

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