jQuery简单介绍

作者: 饥人谷_Jack | 来源:发表于2017-10-27 03:20 被阅读0次

题目1: jQuery 能做什么?

题目2: jQuery 对象和 DOM 原生对象有什么区别?如何转化?

  • DOM原生对象:
    • 是对象;
    • 拥有原生对象的属性和方法;
  • jQuery对象:
    • 是DOM元升级对象经过包装之后,拥有jQuery的属性和方法(对原生DOM对象的封装);
    • 是类数组;
$('body')[0]//可以转为DOM原生对象
$(document.querySelector('body))//可以转为jQuery对象

题目3:jQuery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?

  • bind(type,[data],fn)
    为每个匹配元素的特定事件绑定事件处理函数。jQuery 3.0中已弃用此方法,请用 on()代替。
$("p").bind("click", function(){
  alert( $(this).text() );
});
  • unbind(type,[data|fn]])
    bind()的反向操作,从每一个匹配的元素中删除绑定的事件。
    jQuery 3.0中已弃用此方法,请用 off()代替。
    如果没有参数,则删除所有绑定的事件。
    你可以将你用bind()注册的自定义事件取消绑定。
    如果提供了事件类型作为参数,则只删除该类型的绑定事件。
    如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除。
var foo = function () {
  // 处理某个事件的代码
};

$("p").bind("click", foo); // ... 当点击段落的时候会触发 foo 

$("p").unbind("click", foo); // ... 再也不会被触发 foo
  • delegate(selector,[type],[data],fn)
    指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
    jQuery 3.0中已弃用此方法,请用 on()代替。
    使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
<div style="background-color:red">
<p>这是一个段落。</p>
<button>请点击这里</button>
</div>

$("div").delegate("button","click",function(){
  $("p").slideToggle();
});
  • live(type, [data], fn)
    jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。
    从 jQuery 1.7 开始,不再建议使用 .live() 方法。请使用 .on() 来添加事件处理。使用旧版本的用户,应该优先使用 .delegate() 来替代 .live()。
$("p").live("click", function(){
    $(this).after("<p>Another paragraph!</p>");
});
  • on(events,[selector],[data],fn)
    在选择元素上绑定一个或多个事件的事件处理函数。
    on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。在jQuery 1.7中,.on()方法 提供绑定事件处理程序所需的所有功能。帮助从旧的jQuery事件方法转换,see .bind(), .delegate(), 和 .live(). 要删除的.on()绑定的事件,请参阅.off()。要附加一个事件,只运行一次,然后删除自己, 请参阅.one()
function myHandler(event) {
alert(event.data.foo);
}
$("p").on("click", {foo: "bar"}, myHandler)
  • off(events,[selector],[fn])
    在选择元素上移除一个或多个事件的事件处理函数。
    off() 方法移除用.on()绑定的事件处理程序。有关详细信息,请参阅该网页上delegated和directly绑定事件。特定的事件处理程序可以被移除元素上提供事件的名称,命名空间,选择器,或处理函数名称的组合。当有多个过滤参数,所提供的参数都必须匹配的事件处理程序被删除。
var validate = function () {
  // code to validate form entries
};
// delegate events under the ".validator" namespace
$("form").on("click.validator", "button", validate);
$("form").on("keypress.validator", "input[type='text']", validate); 
// remove event handlers in the ".validator" namespace
$("form").off(".validator");

推荐使用.on()、.off()

$('ul').on('click','li',function(){
console.log()this
})

题目4:jQuery 如何展示/隐藏元素?题目5: jQuery 动画如何使用?

 <style>
    .box {
      width: 100px;
      height: 100px;
      background-color: red;
      position: relative;
    }
    ul>li {
      list-style: none;
      border: 1px solid;
    }
     p {
       display: none;
     }
  </style>
  <div class="box"></div>
  <ul>
    <li>
      <h1>我是标题1</h1>
      <p>我是段落1</p>
    </li>
    <li>
      <h1>我是标题2</h1>
      <p>我是段落2</p>
    </li>
    <li>
      <h1>我是标题3</h1>
      <p>我是段落3</p>
    </li>
  </ul>
  <button id="show">显示</button>
  <button id="hide">隐藏</button>
  <button id="more">多个动画</button>
  <button id="finish">完成</button>
  <button id="stop">停止</button>
  <script>
    var $box = $('.box')
    $('#show').on('click', function () {
      $box.show(1000, function () {
        $(this).text('animation is done')
      })
    })
    $('#hide').on('click', function () {
      $box.hide(1000)
    })
    $('ul').on('click','li',function () {
      $(this).find('p').toggle(1000)//动态效果为从右至左。横向动作。
      $(this).find('p').slideToggle(1000)//动态效果为从下至上。竖向动作。
      $(this).find('p').slideUp(1000)//通过高度变化(向上减小)来动态地隐藏示所有匹配的元素
      $(this).siblings().find('p').slideDown(1000)//通过高度变化(向下增大)来动态地显示所有匹配的元素
      $(this).find('p').fadeIn(1000)//通过不透明度的变化来实现所有匹配元素的淡入效果
      $(this).find('p').fadeOut(1000)//通过不透明度的变化来实现所有匹配元素的淡出效果
      $(this).find('p').fadeToggle(1000)//通过不透明度的变化来开关所有匹配元素的淡入和淡出效果
      $(this).find('p').fadeTo(1000,0.36)//把所有匹配元素的不透明度从0以渐进方式调整到指定的不透明度
    })
    $('#more').on('click',function(){
      $box.animate({width:'140px',height:'140px',left:'300px'},1000)
      $box.animate({top:'300px'},1000).animate({left:'0'}).animate({top:'0',width:'100px',height:'100px'})
    })

    $('#finish').on('click',function(){
      $box.finish()
    })
    $('#stop').on('click',function(){
      $box.stop(true)
    })
  </script>

题目6:如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?

    <ul>
        <li id="li01">
          <h1>我是标题1</h1>
          <p>我是段落1</p>
        </li>
        <li id="li02">
          <h1>我是标题2</h1>
          <p>我是段落2</p>
        </li>
        <li id="li03">
          <h1>我是标题3</h1>
          <p>我是段落3</p>
        </li>
      </ul>
      <script>
        console.log($('ul').html())//获取HTML内容
        $('ul #li01').html('<div>hello jirengu</div>')//设置HTML内容
          console.log($('ul #li02').text())//获取文本内容
          $('ul #li02').text('hello world')//设置文本内容
      </script>

题目7:如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?

    console.log($("#username").val())//获取input的值
    $("#username").val('jirengu')//设置input的值
    console.log($("#username").attr('type'))//获取input的type属性
    $("#username").attr('type', 'password')//设置input的type属性值为'password
    $('#city').change(function () {
      console.log($(this).val())//获取select选择时的value
    })

题目8: 使用 jQuery实现如下效果

sideNav
题目9
题目10
题目10 server.js
tab切换卡

相关文章

  • 30.jQuery简介

    1,JQuery简单背景介绍 2,JQuery版本介绍 3,JQuery文件介绍

  • jQuery简单介绍

    题目1: jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作...

  • jQuery简单介绍

    一、介绍 1.什么是jQuery jQuery是一个快速、简洁的JavaScript框架,是继Prototype之...

  • jQuery源码二周目#2 插件接口

    插件接口 jQuery.extend = jQuery.fn.extend = function() {简单介绍下...

  • Jquery第一天JQ选择器及简单使用

    一、Jquery介绍及简单使用 (一) 介绍 Jquery是什么,其实就是别人封装好的方法,它把各个功能都考虑到...

  • 07-JQuery插件应用

    本教程主要以Jquery UI为例,简单介绍Jquery插件的使用。 使用JQuery UI提供的基本功能,需要如...

  • jquery部分方法补充

    简单介绍一下今天所学的部分jquery方法。jquery方法命名比较语义化,理解起来比较简单,所有有些方法还是需要...

  • 【jQuery】jQuery基础

    jQuery介绍 jQuery是一个轻量级JS库,使用十分简单;jQuery的核心是选择器,用于获取页面元素;jQ...

  • JS组件

    jquery.ripples 介绍jquery.ripples一个简单的基于WebGL的涟漪效应。背景图像通常很无...

  • ajax/getjson简单学习记录

    简单介绍下JSON以及jquery的ajax功能 1. What is JSON? 简单地说,JSON就是一种数据...

网友评论

    本文标题:jQuery简单介绍

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