jquery DOM&事件

2017-02-20  本文已影响0人  candy252324

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

2.jquery 能做什么?

jQuery是一个轻量级的Javascript库,拥有强大的选择器,核心依然是Javascript,所以凡是Javascript能做的事,jQuery都能做。

$("ele:odd").css("color","olive")
$("ele:has(span)").css({
        "font-size" : "20px",
        "border" : "1px solid red",
        "background" : "pink",
})
$("ele").append("<div>xxxxxx</div>")
$("ele").find(".class")
$("li").add("p")   //将p加到li的合集中一起设置样式
//事件代理,事件绑定在ele上
$("ele").on("click", "li", function(e){
    alert(e.target.textContent)
})
//elert 出 “hello candy”
$(".btn").on("click", {name:"candy"}, function(e){
    alert("hello" + event.data.name)  
})
// 如下,三个动画会顺次执行
$("div").on("click",function(){
    $(this).animate({height:"500px"},"slow")
           .animate({"border":"1px solid green","border-radius": "50%"})
           .animate(
              { width: "+=100px"},    
              { duration:3000,      
                step: function(now,fx){
                    $("p").html("当前宽度:"+now);   //now是动画当前值,这里即是当前高度值
                }
              }
            )
  })

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

jquery对象是 DOM 原生对象包装后形成的。 Jquery对象有自己特有的方法(对原生 DOM 对象方法的封装)。DOM 原生对象只能用 DOM 对象的方法, 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绑定事件使用事件代理的写法?

绑定事件的方法有.bind()、.live()、.delegate() 和 .on(),
对应的解除绑定的方法分别是 .unbind()、.die()、.undelegate() 和 .off()。

$( ele ).bind( "click", function( e ) {} ); 
//相当于下面on( )的写法
$( ele ).on( "click", function( e ) {} ); 
$(ele).unbind();
$( "ele" ).live( "click", function( e ) {} ); 
//相当于下面on( )的写法
$( document ).on( "click", "ele", function( e ) {} ); 
$( "#members" ).delegate( "li a", "click", function( e ) {} );
//相当于下面on( )的写法
$( "#members" ).on( "click", "li a", function( e ) {} ); 
$("ele").on("click", "li", {name:"candy"}, function(e){ 
      console.log(e.target.textContent)  //打印出所点击的li标签中的内容
      console.log("hello" + event.data.name)   // hello candy
})
$("ele").off("click", "mouseup")   //删除绑定在元素上的click和mouseup事件
$("ele").off()   //删除绑定在元素上的所有事件

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

$('#btn').on('click', function() { 
    $('.div1').show("slow",function(){
          alert("动画结束")
    }); 
});
$('#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 内容?如何设置和获取元素内部文本?

<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.如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?

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

代码题

题一:效果演示
题二:效果演示
题三:效果演示

上一篇 下一篇

猜你喜欢

热点阅读