jquery DOM&事件

问答

1.说说库和框架的区别?
  • 库的的概念和意义是用来提供一些方法的集合,避免重复定义相同功能的函数,并有一定的模式兼容性。

  • 而所谓框架,更应该是按照开发者按照框架的设计去做一些事,而非简单的工具集的概念,框架可以提供相应的库或者基于库来实现,但库一般不会具备框架的规范性。

  • 他们都是对原生代码的封装,一个注重整体,一个注重细节,框架帮助你解决“代码如何组织”的问题,类库帮助你解决“如何把代码写得更少/巧/强壮”的问题;它们解决的是不同层面的问题。

2.jquery 能做什么?
  • jQuery是一个兼容多浏览器的JavaScript库,它封装了很多方法,可以让使用者代码写的更少,更轻松。
  • 它的功能有HTML文档操作、事件处理、动画设计和Ajax交互。
3.jquery 对象和 DOM 原生对象有什么区别?如何转化?

Jquery 对象是 DOM 原生对象包装后形成的。他们都有自己特定的方法,不能相互使用。

转化:

  • jQuery对象转成DOM对象
      var $div = $('#div');//jquery对象
      var div = $div[0];//[index]方式转为DOM对象
  • DOM对象转成jQuery对象
      var div = document.getElementById('div');//DOM对象
      var $div = $(div);//用$()转化
4.jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
  • bind:为一个元素绑定一个事件处理程序。在jQuery 3.0中,.bind()已被标记为弃用。
 $('#foo').bind('click', function() {
    alert('User clicked on "foo."');
  });
  • unbind:用.bind()方法绑定的事件处理程序可以使用.unbind()移除。在jQuery 3.0中,.unbind()已被标记为弃用。
$('#foo').unbind();
  • delegate:事件代理,在jQuery 3.0中,.delegate()已被标记为弃用。
$("body").delegate("p", "click", function() {
    $(this).toggleClass("chosen");
  });
  • live:该事件会在事件冒泡中传递给其所有的祖辈元素,一直传递到document
    对象为止。从jQuery 1.7开始,该函数被标记为已过时;从jQuery 1.9开始被移除。
$("#btn a").live("click",function(){ 
    console.log('1');//如果有新的a元素创建,也会触发该事件。
});
  • on:提供绑定事件处理的所有功能。
$( "#div" ).on( "click",function() {
    console.log('1');
});

on()方法可以将以上各种事件绑定的方法都替代掉。

  • off:移除.on()绑定的事件处理函数。
$("p").off() //除所有段落上的事件:
  • on()绑定事件代理:
$('ul').on('click','li',function(){
        console.log($(this).text());
      })
5.jquery 如何展示/隐藏元素?
  • 展示元素:
    .show(duration,complete)
    duration (默认: 400) 一个字符串或者数字决定动画将运行多久。
    complete 在动画完成时执行的函数。
$('#btn').on('click',function(){
        $('#div').show(800);
      })
  • 隐藏元素:
    .hide(duration,complete)
$('#btn').on('click',function(){
        $('#div').hide(800);
      })

demo预览

6.jquery 动画如何使用?

.animate()根据一组 CSS 属性,执行自定义动画。
语法:.animate( properties , duration , easing , complete )
properties 参数定义形成动画的 CSS 属性。
duration (默认: 400)一个字符串或者数字决定动画将运行多久。("slow", "normal", 或 "fast")或表示动画时长的毫秒数值(如:1000)
easing (默认: swing)一个字符串,表示过渡使用哪种缓动函数。
complete 在动画完成时执行的函数。
如:

$('#btn').on('click',function(){
       $('#div').animate({
         opacity:0.5,
         left:'50px',
         height:100px;
       },5000)
     })

demo预览

7.如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
  • 获取和设置元素内部HTML内容
$('#ct').html() //获取元素内部HTML内容
$('#ct').html('<div>设置ct内的HTML内容</div>') //设置元素内部HTML内容
  • 获取和设置元素内部文本
$('#ct').text()//获取元素内部文本
$('#ct').text('设置ct') //设置元素内部文本

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

  • 获取和设置表单用户输入或者选择的内容
$('.input').val() //获取表单用户输入或者选择的内容
$('.input').val('设置表单内容') //设置表单用户输入或者选择的内容
  • 获取和设置元素属性
 $('#img').attr('scr') //获取元素属性
$('#img').attr('scr','./images/1.png') //设置元素属性

代码

task25-1:效果预览
task25-2:效果预览 a href="#"会跳转到本页面顶部,一般建议写成javascript:void(0);点了没有反应,写#点了会跳一下。
task25-3:效果预览

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

推荐阅读更多精彩内容

  • 1.说说库和框架的区别? 库主要是封装了某些函数的集合。框架也是。使用库是指,你的代码决定什么时候从库中调用一个特...
    墨月千楼阅读 442评论 0 2
  • 问答部分 一、说说库和框架的区别? 库~是一个提供了封装好很多方法的工具,在这个工具里面,用与不用都是由你决定,控...
    dengpan阅读 376评论 1 2
  • 说说库和框架的区别? 库是将代码集合成的一个产品,供程序员调用。面向对象的代码组织形式而成的库也叫类库。面向过程的...
    块垒阅读 227评论 0 1
  • 1. 说说库和框架的区别? 库是多个“工具”的集合,即封装了某类方法函数,当需要时可以直接调用,不必重复编写代码;...
    王康_Wang阅读 184评论 0 1
  • 问答 说说库和框架的区别? 库为 Library ( 简写 Lib ),框架为 Framework。 库是将代码集...
    coolheadedY阅读 222评论 0 1