美文网首页
jQuery相关2

jQuery相关2

作者: 虚玩玩TT | 来源:发表于2017-07-23 00:08 被阅读0次

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

    .ready()函数可以传递一个函数,$(document).ready()表示当页面中的所有DOM加载完成后,执行某个函数

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

    $node.html()可类比原生JS的innerHTML,获取集合中第一个匹配元素的HTML内容;如果传入参数,则设置每一个匹配元素的HTML内容。

    $node.text()可类比原生JS的innerText,获取匹配元素集合中每个元素的文本内容结合,包括他们的后代;如果传入参数,则设置匹配元素集合中每个元素的文本内容为指定的文本内容。

    3. $.extend 的作用和用法?

    $.extend(target,objectN) 可以传递N个object,将这些object合并到target中,如果有相同的属性,后来的会覆盖之前的。

    例如:

    <script>
      var object1 = {
        a: 1,
        b: 2
      }
    
      var object2 = {
        b:3,
        c:4
      }
    
      var target = {}
    
      $.extend(targer,object1,object2)  //target为{a: 1,b:3,c:4}
    
    </script>
    

    4. jQuery 的链式调用是什么?

    jQuery的链式调用指的是方法的链式调用,即可以连续的调用方法
    例:$node.animate().animate().animate()
    $node.parents().children('.class').css()

    5. jQuery 中 data 函数的作用

    .data(key,value) 在匹配元素上储存任意相关数据
    例:

    <script>
      $('div').data('a', 1) //key='a';value=1
      $('div').data({b:2})  //直接传递一个object
      $('div').data() //{a:1,b:2}
    </script>
    

    .data(key) 通过key,可以得到对应的value,在只传入一个参数key时,返回匹配的元素集合中的第一个元素的给定名称的数据存储的值

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

    • 给元素 $node 添加 class active,给元素 $noed 删除 class active

        $node.addClass('active') //添加
        $node.removerClass('active') //删除
      
    • 展示元素$node, 隐藏元素$node

        $node.hide()  //隐藏
        $ndoe.show()  //展示
        $node.toggle()  //隐藏和展示切换
      
        $node.fadeIn()  //显示
        $ndoe.fadeOut() //隐藏
        $node.fadeToggle()  //切换
      
        $node.slideDown() //显示
        $node.slideUp() //隐藏
        $node.slideToggle() //切换
      
    • 获取元素$node 的 属性: id、src、title, 修改以上属性

        $node.attr('id')
        $node.attr('src')
        $node.attr('title')
      
        $node.attr({id: 'haha', src: 'hehe', title: 'yaya'})
      
    • 给$node 添加自定义属性data-src

        $node.attr('data-src', 'test')
      
    • 在$ct 内部最开头添加元素$node

        $ct.prepend($node)
        $node.prependTo($ct)
      
    • 在$ct 内部最末尾添加元素$node

        $ct.append($node)
        $node.appendTo($ct)
      
    • 删除$node

        $node.detach()
        $ndoe.remove()
      
    • 把$ct里内容清空

        $ct.empty()
      
    • 在$ct 里设置 html <div class="btn"></div>

        $ct.html('<div class="btn"></div>')
      
    • 获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)

        $node.height()
        $node.width() //不包括内外边距、边框
      
        $node.innerHeight()
        $node.innerWidth()  //再加上内边距
      
        $node.outerHeight()
        $node.outerWidth()  //再加上边框
      
        $node.outerHeight(true)
        $ndoe.outerWidth(true)  //再加上外边距
      
      
    • 获取窗口滚动条垂直滚动距离

        $(window).scrollTop
      
    • 获取$node 到根节点水平、垂直偏移距离

        $node.offset()
      
    • 修改$node 的样式,字体颜色设置红色,字体大小设置14px

        $node.css({color: 'red',front-size: '14px'})
      
    • 遍历节点,把每个节点里面的文本内容重复一遍

        $node.each(function(){
          var text = $(this).text()
          text += $(this).text()
          $(this).text(text)
        })
      
    • 从$ct 里查找 class 为 .item的子元素

        $ct.children('.item')
      
    • 获取$ct 里面的所有孩子

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

        $node.parents('.ct').find('.panel')
      
    • 获取选择元素的数量

        $node.length
      
    • 获取当前元素在兄弟中的排行

        $node.index()
      

    7. 用jQuery实现以下操作

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

        $btn.click(function(){
          $btn.css('background','red')
          setTimeout(function(){$btn.css('background','blue')},500)
        })
      
    • 当窗口滚动时,获取垂直滚动距离

        $(window).on('scroll',function(){
          console.log($(window).scrollTop())
        })
      
    • 当鼠标放置到$div 上,把$div 背景色改为红色,移出鼠标背景色变为白色

        $div.on('mouseenter',function(){
          $div.css({'background-color': 'red'})
        })
      
        $div.on('mouseout',function(){
          $div.css({'background-color': 'white'})
        })
      
    • 当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字

        <!DOCTYPE html>
        <html>
        <head>
          <meta charset="utf-8">
          <title>demo</title>
          <script src="https://libs.baidu.com/jquery/1.9.0/jquery.min.js"></script>
        </head>
        <body>
          <input type="text">
          <script>
            $('input').on('input',function(){
              var text = $(this).val().toUpperCase()
              $(this).val(text)
            })
      
            $('input').blur(function(){
              console.log($(this).val())
            })
          </script>
        </body>
        </html>
      
    • 当选择 select 后,获取用户选择的内容

        <!DOCTYPE html>
        <html>
        <head>
          <meta charset="utf-8">
          <title>demo</title>
          <script src="https://libs.baidu.com/jquery/1.9.0/jquery.min.js"></script>
        </head>
        <body>
          <select>
            <option value='option1'>option1</option>
            <option value='option2'>option2</option>
          </select>
      
          <script>
            $('select').change(function(){
              $('select option:selected').each(function(){
                console.log($(this).text())
              })
            })
          </script>
        </body>
        </html>
      

    相关文章

      网友评论

          本文标题:jQuery相关2

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