你必须知道的JQuery

Dom与JQuery

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title ></title>
    <style type="text/css">
        .myDiv
        {
            border: 1px solid black;
            padding: 10px ;
            width: 500px ;
            height: 80px ;
        }
    </style >
    <script src="Js/jquery-1.5.1.js" type="text/javascript"></ script>
    <script type="text/javascript">
        //以下两段内容四次显示结果顺序为:
        //a结果:jquery null ===> (图片未出来)b结果:ready嘿嘿嘿 ===>(图片出来之后)c结果:onload嘿嘿嘿====>c中的jquery:onload中的jquery嘿嘿嘿
        //dom方式  为Window对象的onload事件 设置了一个匿名方法
        //c、这个匿名方法 是在页面所有的资源加载完毕后 才被调用
        window.onload = function () {
            //1、dom方式  返回的是dom节点对象
            var div = document.getElementById("imgAfter" );
            alert( "onload" + div.innerHTML);
            //2、Jquery方式  返回的是jquery对象
            alert( "onload中的jquery" + $("#imgAfter" ).html());
        }
        //a、直接写在Script标签中的js代码最先 被浏览器执行 Body还未加载完成  所以显示null
        //alert("onload中的jquery" + $("#imgAfter").html());
        //b、Jquery的ready方法,是当dom树 完全生成后才执行   body中的图片还没有出来就会显示
        //3、Jquery注册事件函数一定要知道格式
        $(document).ready( function () {
            $( "#imgAfter").html("嘿嘿黑" );//jquery中的Id选择器
            alert( "ready" + $("#imgAfter" ).html());
        });
        //4、以上jqery事件注册代码可简写为
        $( function () {
            $( "#imgAfter").html("嘿嘿黑" ); //html()无参即读取 有参即设置
            alert( "ready" + $("#imgAfter" ).html());
        });

        $( function () {
            //5、将dom元素转换成为jqeury对象 就可以使用jquery方法了
            var div = document.getElementById("div" );
            var $div = $(div); //核心 Jquery类型变量一般加$前缀
            $div.html( "123被修改了" );
            //6将jquery对象转换成为dom元素  两种方式1索引  2get()
            var div = document.getElementById("div" );
            var $div = $(div);
            var divret = $div.get(0); //$div[0];从jquery对象中 获得指定下标的dom元素
            alert(divret.innerHTML);
            //7 get()获取dom元素   解释jquery对象结构 详见图示
            var $divs = $("div" ); //jquery中的标签选择器  获得页面上所有的div  并且将他们添加到了jquery对象的dom数组中
            alert($divs.get(1).innerHTML); //这里是非常重要的 get返回的是数组对象即dom元素 而不是jquery对象   将jquery对象里的第二个dom对象读取出来
            alert( "直接写在js中的jquery" + $("#imgAfter").html());

            //8基本选择器------------------------------------
            //8.1 id选择器
            var $div = $("#div" );
            //8.2 元素选择器
            var $divs = $("div" );
            //8.3 类选择器
            var $divCls = $(".myDiv" );
            for (var i = 0; i < $divCls.length; i++) {//这种循环用的很少 因为Jquery本身提供了
                $divCls.get(i).style.backgroundColor = "gray";
            }
            //8.4 "*"选择器  返回页面所有元素  用于结合上下文搜索
            var $all = $("*" );
            alert($all.length); //19个元素
            //8.5多条件选择器
            var $Any = $("input,span" ); //注意用逗号分隔
            alert($Any.length); //长度为4
            //9层次选择器---------------------------------------
            //9.1 后代选择器 得到id为FatherDiv中的子div及其子div中的所有div
            var $GSonDiv = $("#FatherDiv div" );//中间用空格区分开
            for (var i = 0; i < $GSonDiv.length; i++) {
                alert($GSonDiv.get(i).id); //son1  son2  grandSon都会得到
            }
            //9.2 子代选择器 只取直属子元素
            var $SonDiv = $("#FatherDiv > div" );
            for (var i = 0; i < $SonDiv.length; i++) {
                alert($SonDiv.get(i).id); //son1  son2
            }
            //9.3后面的兄弟选择器  必须是紧接着 否则什么都取不到
            var $AfterDiv = $("span + div" );//匹配所有紧接在span后的next元素 next必须是div
            for (var i = 0; i < $AfterDiv.length; i++) {
                alert($AfterDiv.get(i).id); //span标记之后紧跟的div id  结果FatherDiv
            }
            var $AfterDiv = $("span + *" );
            for (var i = 0; i < $AfterDiv.length; i++) {
                alert($AfterDiv.get(i).id); //span标记之后紧跟元素 id  *号意味不限制紧跟的元素类型 结果FatherDiv
            }
            //9.4匹配元素时候的所有同级元素
            var $ssElements = $("#FatherDiv ~ div" );
            for (var i = 0; i < $ssElements.length; i++) {
                alert($ssElements.get(i).id); //AfterDiv AfterDiv2
            }
            //9简单事件
            $( "#btn").click(function () {
                $( "div").html("我们都是div" );
            });
            $( "#btn").click();//这里就是事件的调用 所以页面刚加载就会触发这个事件
       });
    </script >
</head>
<body>
    <div id="div">
        <input type="button" value="按钮1" id="btn" />
        123
    </div >
    <!--<img src="images/照片123.JPG" />-->
    <div id="imgAfter">
        哈哈哈
        <input type="button" value="按钮2" />
    </div >
    <span >我是span</ span>
    <div id="FatherDiv">
        <div id="son1" class="myDiv">
            类选择器1
            <input type="button" value="按钮3" />
        </div>
        <div id="son2" class="myDiv">
            还是类选择器 他们有class属性
            <div id="grandSon">
                孙子级的div
            </div>
        </div>
    </div >
    <div id="AfterDiv"> 紧接着的兄弟元素 </div>
    <div id="AfterDiv2"> 紧接着的兄弟元素2 不会取到 </div>
</body>
</html>

 代码直接拷贝到html文件中,并确定jquery-1.5.1.js文件外联存在即可看到运行效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值