jQuery

作者: leocz | 来源:发表于2017-08-15 16:56 被阅读0次

    1. jQuery能做什么?

    jQuery 是一个 JavaScript 库, 极大地简化了 JavaScript编程。

    $("#id")  相当于 document.getElementById("id")
    $(".class") 相当于 document.getElementByClassName("class")
    $("css选择器 ").css("css","css属性值") 设置元素的某一css属性
    $("css选择器").on("event",function(){})  给元素添加监听事件
    
    总而言之,jquery极大简化了js编程,对许多操作都进行了封装,而且兼容性也很好,掌握之后能大幅提高编程速度。
    

    2. jQuery对象与dom对象有什么区别?怎么相互转化?

    jquery对象只能使用jquery中的提供的方法,不能用原生js中的方法。dom对象也只能用原生js中提供的方法,不能使用jquery中提供的方法。
    他们之间相互转化 :

    <div id="test"></div>
    
    $("#test")  //jquery对象
    document.getElementById("test")  //dom对象
    转化
    $("#test")[0]  // 此时是dom对象,只能使用原生js提供的方法
    $(document.getElementById("test") )  // jquery对象,只能使用jquery提供的方法。
    

    3. jQuery中如何绑定事件?bind,unbind,delegate,live,on,off都有什么用?推荐使用哪种?使用on绑定事件的事件代理的写法。

    jquery提供了四种事件绑定的方式 bind,delegate,live,on
    
    1. bind(event, [data], function(eventObject))
    看实例是了解某一方法的最好方式
    function handler(event) {
    alert(event.data.foo);
    }
    $("p").bind("click", {foo: "bar"}, handler)
    
    evnet  事件类型
    data 一个对象,它包含的数据键值对映射将被传递给事件处理程序
    function 每当事件触发时执行的函数
    
    bind对应的解绑方法是unbind(),在jQuery 3.0中,.bind()已被标记为弃用。
    
    2.delegate(selector, event, [data], fn)
    
    $("table").delegate("td", "click", function() {
      $(this).toggleClass("chosen");
    });
    
    selector用来指定触发的目标元素,监听器被绑定在调用此方法的元素上
    data fn同上
    
    对应的解绑方式是undelegate()
    
    3.live(type, [data], fn)
    从jQuery1.7开始,.live() 方法已经过时了 所以就不做过多的了解
    
    对应的解绑方式是 die()
    
    4.on(type, [selector],  [data], fn )
    没有selector时,就和bind一样
    有selector时,就像delegate一样
    on综合上述几个方法,所以最推荐使用,对应解绑方式 off()
    
    on绑定事件使用事件代理的方式
    $('table').on('click', 'th', function(e){
        console.log(this);
    })
    

    4. jQuery如何展示/隐藏元素?

    1 .show()方法
    $('.target').show();
    匹配的元素将被立即显示,没有动画。这大致相当于调用.css('display', 'block')
    对应的隐藏方法是 .hide();
    
    2 .fadeIn()      动画表现形式淡入
    .fadeIn( [duration ] [, complete ] )
    第一个参数  动画用时
    第二个参数  动画完成后执行的函数
    $('.target').fadeIn(1000,function(){});   
    
    对应的隐藏方法是 fadeOut(),互相切换是 fadeToggle()
     
    3 .slideDown()  动画表现形式下拉
    .slideDown( [duration ] [, complete ] )
    $('.target').slideDown(1000,function(){});   
    
    对应的隐藏方法是slideUp(),互相切换是slideToggle()
    

    5. jQuery动画如何使用?

    .animate( properties [, duration ] [, easing ] [, complete ] )
    方括号都是可选,
    properties  元素的属性值,动画也是根据此来进行
    duration  动画持续时间
    easing 动画过渡函数
    complete 动画完成后执行函数
    $('#clickme').click(function() {
      $('#book').animate({
        width: 'toggle',
        height: 'toggle'
      }, 
        duration: 5000,
        specialEasing: {
          width: 'linear',
          height: 'easeOutBounce'
        },
        complete: function() {
          $(this).after('<div>Animation complete.</div>');
        }
      });
    });
    
    $('.target').animate({
        opacity: 0.25,
        left: '+=50',
        height: 'toggle',
        fontSize: "3em"
    }, 1000) 
    .animate() {
      // 多个动画  按序执行
    };
    

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

    $(‘selector’).html():获取元素内部HTML。
    
    $(‘selector’).html(‘…’):设置元素内部HTML。
    eg. 
    $('div.demo-container').html('<p>This is a test.</p>');
    输出   This is a test.
    $(‘selector’).text():获取元素内部文本。
    
    $(‘selector’).text(‘…’):设置元素内部文本。
    eg.
    $('div.demo-container').text('<p>This is a test.</p>');
    输出   <p>This is a test.</p>
    

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

    $(‘selector’).val():获取表单用户输入值;
    $(‘selector’).val(‘…’):设置输入值;
    
    $(‘selector’).attr(‘name’):获取元素属性;
    $(‘selector’).attr(‘name’,’xxx’):设置元素属性的值;
    

    8. 实现下列效果

    9. 实现如下效果

    10. 实现下列效果(带ajax请求)

    11. 实现左右切换的 Tab 效果

    效果都在→效果

    相关文章

      网友评论

          本文标题:jQuery

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