JQuery基础一

作者: 书中有凉气 | 来源:发表于2016-12-13 17:57 被阅读0次

    1.说说库和框架的区别?

    库类似于工具,在写代码时能更方便,例如封装$DOM元素之类
    框架类似于房子的户型,已经设计好了,但是内部装潢还没有OK

    2.jquery 能做什么?

    主要是封装好了各种DOM,方法,事件,和动画的操作,比原生JS更方便的去调用和使用

    3.jquery 对象和 DOM 原生对象有什么区别?如何转化?

    jquery对象是 DOM 原生对象包装后形成的。 Jquery对象有自己特有的方法(对原生 DOM 对象方法的封装)。DOM 原生对象只能用 DOM 对象的方法, Jquery 对象 只能用 Jquery 对象的方法。

    //原生对象装jquery对象
    var box=document.getElementsByTagName("div")[0]; //box是DOM对象var $box=$(box); // $box是jqeury对象
    $box.css("color","red") //使用jquery方法
    
    // $("div")是jquery对象,是所有div的合集var box=$("div")[0] //方法一:,box是DOM对象var box=$("div").get(0) //方法二:box是DOM对象box.style.color="red"; //使用DOM对象的方法
    

    4.jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?

    a.bind( ):为一个元素绑定一个事件处理程序,在jQuery3.0版本中,已被标记为弃用。
    $( ele ).bind( "click", function( e ) {} ); //相当于下面on( )的写法
    $( ele ).on( "click", function( e ) {} ); 
    
    b.unbind( ):用来解除bind绑定的事件。同样在jQuery3.0版本中,标记为弃用
    $(ele).unbind();
    
    c.live( ): 事件代理机制,委托给$(document)
    $( "ele" ).live( "click", function( e ) {} ); //相当于下面on( )的写法
    $( document ).on( "click", "ele", function( e ) {} );
    
    d.delegate( ), 事件代理机制,委托给$( “#members” )
    $( "#members" ).delegate( "li a", "click", function( e ) {} );//相当于下面on( )的写法
    $( "#members" ).on( "click", "li a", function( e ) {} );
    
    e.on( )语法:$ele.on(event [,selector] [,data] ,handler(obj))

    ,方括号内为可选参数。

    $("ele").on("click", "li", {name:"candy"}, 
    function(e){ console.log(e.target.textContent) //打印出所点击的li标签中的内容
    console.log("hello" + event.data.name) // hello candy})
    
    f.off( ) 删除绑定的事件
    $("ele").off("click", "mouseup") //删除绑定在元素上的click和mouseup事件
    $("ele").off() //删除绑定在元素上的所有事件
    

    5.jquery 如何展示/隐藏元素?

    展示: .show()
    语法:$(selector).show(speed,callback);
    speed:可选参数,规定元素从隐藏到完全可见的速度,默认为0,也可写fast(200ms)或slow(600ms)。
    callback:show函数执行完之后,要执行的函数。本质上show方法是修改元素的display为block。

    $('#btn').on('click', function() { $('.div1').show("slow",function(){ alert("动画结束") }); });
    

    隐藏: .hide()语法:$(selector).show(speed,callback) ;
    speed:可选参数,规定元素从可见到完全隐藏的速度,默认为0,也可写fast(200ms)或slow(600ms)。
    callback:hide函数执行完之后,要执行的函数。本质上hide方法是修改元素的display为block。

    $('#btn').on('click', function() { $('.div1').hide(3000,function(){ alert("动画结束") }); });
    

    6.jquery 动画如何使用?

    语法:$(selector).animate({params} [,speed] [,callback]);
    样例:

    $("#btn").on("click",function(){ 
        $(".div1").animate({ 
                width:"100px", 
                height:"100px", 
                left:"50px"//向左移动50px ,(前提是设置过定位,css中也能实现移动)
         },5000) 
        .animate({ },3000); 
        .animate({ });});
    

    7.如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?

    用html()方法可以设置和获取元素内部HTML内容。需要注意的是,.html()获取的是匹配元素集合中第一个元素的Html内容(包括html标签),.html(string)设置的是匹配元素集合中每个元素的html内容。
    用text()方法可以设置和获取元素内部文本内容。需要注意的是,.text()
    获取的是匹配元素集合中每个元素的(包括它们的后代)文本的合并,text(string)设置的是匹配元素集合中每个元素的文本。

    <div>AA
          <p>BB
            <span>CC</span>
          </p>
        </div>
    <div>aa
         <p>bb
            <span>cc</span>
         </p>
    </div>
    <script >
          $("div").html()  // 返回的是第一个div中的html,"AA<p>BB<span>CC</span></p>"
          $("div").text() //返回的是两个div(包括它们的后代)的文本的合集,"AABBCCaabbcc"
          $("div").html("<span>hh</span>")  //[<div><span>hh</span>​​</div>​, <div><span>hh</span></div>​]
          $("div").text("kk") //[<div>​kk​</div>​, <div>​kk​</div>​]
    </script>
    

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

    通过val()方法可以设置和获取表单用户输入或者选择的内容需要注意的是,获取的的是匹配元素集合中第一个元素的当前值,设置的是匹配元素集合中每个元素的值

    $('input').val(); //获取所有匹配的input集合中的第一个input的value值
    $('input').val('饥人谷'); //设置所有input的value值为“饥人谷”
    

    通过attr() 方法可以设置或返回元素的属性。

    $('img').attr('src'); //获取所有匹配的input集合中的第一个img的src
    /$('img').attr('src','http://'); //设置所有img的src
    

    相关文章

      网友评论

        本文标题:JQuery基础一

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