05_jQuery(一)

JQuery(一)
  • JQuery文档非常完善
  • 今日重点:
    • JQ选择器的学习
  • 概述
    • jQuery是javascript的一个库,很轻量级
    • 在实际开发中,都不会使用javascript,即使使用,也是很少的一部分公司使用,一般都是用javascript封装好的一些小型框架
    • jQuery兼容CSS3,jQuery2.0之后不再支持ie6,ie7,ie8
    • jQuery1.8.3用的最多
  • 引入JQ
<!--现在1.8.3用的比较多-->
<script src="../../js/jquery-1.8.3.js"></script>
<script type="text/javascript">
    $(function(){
        alert("Hello JQuery!");
    });
</script>
  • jQuery 和 javascript页面加载区别

    • javascript页面加载区别
    /*传统js如果调用两次window.onload会存在覆盖问题,后面的覆盖前面的*/
    window.onload = function() {alert('hello world1')}
    window.onload = function() {alert('hello world2')}
    
    • jQuery加载比js快
      • JQ:dom加载完成后就会加载
      • JS:整个页面加载完毕再调用
    • jQuert不存在覆盖问题,顺序执行
    jQuery(document).ready(function() { //1
        alert('hello world1');
    });
    $(document).ready(function(         //2
        alert('hello world2');
    ));
    $(function(                         //3
        alert('hello world3')
    ));
    /*
    简写方式
    $(function(){})
    */
    
  • JQ获取元素

//页面加载
$(function(){
    //传统方式获取
    document.getElementById('id').onclick = function(){
        location.href = 'http://www.google.com'
    }
    //JQ方式获取
    $('#id').click(function(){
        location.href = 'http://google.com';
    })
});
  • DOM对象和jQuery对象的转换
//JS的dom操作
document.getElementById('span_1').innerHTML = 'xxxx';
//jQuery的dom操作
$(function(){//docuent加载完后执行,不加这行代码,事件不能绑定
    $('#btn').click(function(){
        //jQuery获取的对象不能调用js对象的方法,反过来也一样
        //$('#span_1').innerHTML = 'xxxx';
        $('#span_1').html('xxxx');
    });
});
//jQuery转DOM
$('#btn').click(function(){
    //jQuery获取的对象转换为DOM对象
    //$('#span_1').get(0) //这样就编程DOM对象
    $('#span_1').get(0).innerHTML = 'xxxx';
    $('#span_1')[0].innerHTML = 'xxxx';
});
//DOM转jQuery
function fun() {
    var spanEle = document.getElementById('#span_1');
    //$(spanEle) //这样就转成了Jquery对象了
    $(spanEle).html('xxxx');
}
jQuery选择器
  • 基本选择器

    • id选择器:"#id"
    $("#id_name").css("background-color","pink");
    
    • 类选择器:".class"
    $(".class_name").css('background-color',"yellow");
    
    • 元素选择器:
    $("div").css("background-color","#FF6500");
    
    • 匹配所有的元素(*):只要是标签都匹配
    $("*").css("background-color",'red');
    
    • 并集选择器:select1,select2,select3(将多个选择器匹配的到的元素合并后返回)
    //选择id为id_name并且类为class_name的元素
    $("#id_name,.class_name").css("background-color","#FF6500");
    
  • 层级选择器

    • 在给定的祖先元素下匹配所有的元素(子孙关系)
    $("body div").css("background-color","paleturquoise");
    
    • 给定父元素下的所有子元素(父子关系)
    $("body>div").css("background-color","gold");
    
    • 匹配所有紧接在prev元素后的next元素(同桌)
    //id为two后紧挨着的div
    $("#two+div").css("background-color",'#FF6500');
    
    • 匹配prev元素之后的所有siblings元素(兄弟)
    //id为one的所有div兄弟元素
    $("#one~div").css('background-color',"#FF0000");
    
  • 基本过滤器

    • 第一个元素
    //body下的第一个div元素
    $("body>div:first").css("background-color",'pink');
    
    • 最后一个元素
    //body下最后一个div
    $("body>div:last").css("background-color","blueviolet");
    
    • 奇数集合
    # body下所有div元素中序号为基数的div集合
    $("body div:odd").css("background-color","yellowgreen");
    
    • 偶数集合
    $("body div:even").css("background-color","red");
    
  • 属性选择器

//所有有id属性的div元素
$("div[id]").css("background-color",'yellow');
//所有id为two的所有div元素
$("div[id='two']").css('background-color',"#FF0000");
  • 表单选择器
$(":input"):查找所有的input元素
$(":text"):查找所有文本框
$(":password"):查找所有密码框
$(":radio"):查找所有单选按钮
$(":checkbox"):查找所有复选框
$(":submit")
$(":image")
$(":reset")
$(":button")
$(":file")
jQuery弹出广告图片
<script>
    $(function(){
        //1.书写显示广告图片的定时操作
        time = setInterval("showAd()",3000);
    });
    
    //2.书写显示广告图片的函数
    function showAd(){
        //3.获取广告图片,并让其显示
        //$("#img2").show(1000);
        //$("#img2").slideDown(5000);
        $("#img2").fadeIn(4000);
        //4.清除显示图片定时操作
        clearInterval(time);
        //5.设置隐藏图片的定时操作
        time = setInterval("hiddenAd()",3000);
    }
    
    function hiddenAd(){
        //6.获取广告图片,并让其隐藏
        //$("#img2").hide();
        //$("#img2").slideUp(5000);
        $("#img2").fadeOut(6000);
        //7.清除隐藏图片的定时操作
        clearInterval(time);
    }
</script>
  • toggle使用
<div>
    <input type="button" value="显示/隐藏" id="btn" /><br />|
    ![](../img/xxxxxx.gif)
</div>

<script type="text/javascript" src="../js/jquery-1.8.3.js" ></script>
<script type="text/javascript">
    $(function(){
        $("#btn").click(function(){
            $("#img1").toggle();
        });
    });
</script>
jQuery隔行换色
<script type="text/javascript">
    $(function(){
        $("tbody>tr:even").css("background-color","gold");
        $("tbody>tr:odd").css("background-color","pink");
    });
</script>
  • 通过JQ设置CSS一般不自己写,都是通过引用UI提供的CSS样式
<!--引入UI给的css样式-->
<link rel="stylesheet" href="../css/style.css" />

$("tbody tr:even").addClass("class_name");
$("tbody tr:even").removeClass("class_name");
//3.获取tbody下面的奇数行并设置背景颜色
$("tbody tr:odd").addClass("class_name");
jQuery全选全不选
<script>
$(function(){
    $("#select").click(function(){
        //获取下面所有的 复选框并将其选中状态设置跟编码的前端 复选框保持一致。
        //attr方法与JQ的版本有关,在1.8.3及以下有效。
        $("tbody input").attr("checked",this.checked);
        $("tbody input").prop("checked",this.checked);
    });
});
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • jQuery基础 什么是JQ?一个优秀的JS库,大型开发必备JQ的好处?一简化JS的复杂操作二不再需要关心兼容性三...
    幺七阅读 963评论 0 2
  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 679评论 0 3
  • 一)jQuery九类选择器【参见jQueryAPI.chm手册】 目的:通过九类选择器,能定位web页面(HTML...
    奋斗的老王阅读 1,056评论 0 51
  • //------------------------- 第一章 认识JQuery ----------------...
    米塔塔阅读 763评论 0 9
  • 03101玮玮 这本绘本是儿子暑假学校布置的必读书,男孩仿佛和青蛙较上了劲,还是孩子都有模仿的天性?一番比较...
    黄玮玮阅读 159评论 0 0