jQuery相关2

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>
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. jQuery 中, $(document).ready()是什么意思? 当DOM准备就绪时,指定一个函数来执...
    billa_8f6b阅读 1,651评论 0 1
  • 题目1: jQuery 中, $(document).ready()是什么意思? $(document).read...
    饥人谷_js_chen阅读 2,976评论 0 1
  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 8,849评论 0 44
  • //------------------------- 第一章 认识JQuery ----------------...
    米塔塔阅读 4,068评论 0 9
  • 1: jQuery 中, $(document).ready()是什么意思? 当DOM加载完成时,执行其中的代码。...
    hhg121阅读 1,774评论 0 0