JQuery 和Ajax测试代码

一、选择器

1.基本选择器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Verdana;
        }

        div.mini {
            width: 55px;
            height: 55px;
            background-color: #aaa;
            font-size: 12px;
        }

        div.hide {
            display: none;
        }
    </style>

    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        $(function(){
            //1. 使用 id 选择器选择 id=btn1 的元素: $("#btn1")
            //2. 为选择的 jQuery 对象添加 onclick 响应函数:
            // $("#btn1").click(function(){}), 响应函数的代码
            //写在 function(){} 的中括号中.
            //--选择 id 为 one 的元素
            $("#btn1").click(function(){
                $("#one").css("background", "#ffbbaa");
            });
            //选择 class 为 mini 的所有元素
            $("#btn2").click(function(){
                $(".mini").css("background", "#ffbbaa");
            });
            //选择 元素名是 div 的所有元素
            $("#btn3").click(function(){
                $("div").css("background", "#ffbbaa");
            });
            //选择 所有的元素
            $("#btn4").click(function(){
                $("*").css("background", "#ffbbaa");
            });
            //选择 所有的 span 元素和id为two的元素
            $("#btn5").click(function(){
                $("span, #two").css("background", "#ffbbaa");
            });
        });
    </script>

</head>
<body>
<input type="button" value="选择 id 为 one 的元素" id="btn1" />
<input type="button" value="选择 class 为 mini 的所有元素" id="btn2" />
<input type="button" value="选择 元素名是 div 的所有元素" id="btn3" />
<input type="button" value="选择 所有的元素" id="btn4" />
<input type="button" value="选择 所有的 span 元素和id为two的元素" id="btn5" />

<br><br>
<div class="one" id="one">
    id 为 one,class 为 one 的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"></div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class为"hide"的div</div>
<div>
    包含input的type为"hidden"的div<input type="hidden" size="8">
</div>
<span id="span">^^span元素^^</span>
</body>
</html>
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

2.层次选择器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Verdana;
        }

        div.mini {
            width: 55px;
            height: 55px;
            background-color: #aaa;
            font-size: 12px;
        }

        div.hide {
            display: none;
        }
    </style>

    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        $(function(){
            //选择 body 内的所有 div 元素
            $("#btn1").click(function(){
                $("body div").css("background", "#ffbbaa");
            });
            //在 body 内, 选择子元素是 div 的
            $("#btn2").click(function(){
                $("body > div").css("background", "#ffbbaa");
            });
            //选择 id 为 one 的下一个 div 元素
            $("#btn3").click(function(){
                $("#id + div").css("background", "#ffbbaa");
            });
            //选择 id 为 two 的元素后面的所有 div 兄弟元素
            $("#btn4").click(function(){
                $("#two ~ div").css("background", "#ffbbaa");
            });

            //选择 id 为 two 的元素所有 div 兄弟元素
            $("#btn5").click(function(){
                $("#two").siblings("div").css("background", "#ffbbaa");
            });
            //选择 id 为 one 的下一个 span 元素
            $("#btn6").click(function(){
                //以下选择器选择的是近邻 #one 的 span 元素, 若该span
                //和 #one 不相邻, 选择器无效.
                //$("#one + span").css("background", "#ffbbaa");
                $("#one").nextAll("span:first").css("background", "#ffbbaa");
            });
            //选择 id 为 two 的元素前边的所有的 div 兄弟元素
            $("#btn7").click(function(){
                $("#two").prevAll("div").css("background", "#ffbbaa");
            });

        });
    </script>
</head>
<body>
<input type="button" value="选择 body 内的所有 div 元素" id="btn1" />
<input type="button" value="在 body 内, 选择子元素是 div 的." id="btn2" />
<input type="button" value="选择 id 为 one 的下一个 div 元素" id="btn3" />
<input type="button" value="选择 id 为 two 的元素后面的所有 div 兄弟元素" id="btn4" />

<input type="button" value="选择 id 为 two 的元素所有 div 兄弟元素" id="btn5" />
<input type="button" value="选择 id 为 one 的下一个 span 元素" id="btn6" />
<input type="button" value="选择 id 为 two 的元素前边的所有的 div 兄弟元素" id="btn7" />

<br><br>
<div class="one" id="one">
    id 为 one,class 为 one 的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"></div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class为"hide"的div</div>
<div>
    包含input的type为"hidden"的div<input type="hidden" size="8">
</div>
<span id="span">^^span元素^^</span>
<span id="span">--span元素--</span>
</body>
</html>

将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

3.过滤选择器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Verdana;
        }

        div.mini {
            width: 55px;
            height: 55px;
            background-color: #aaa;
            font-size: 12px;
        }

        div.hide {
            display: none;
        }
    </style>

    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        $(function(){
            //选择第一个 div 元素
            $("#btn1").click(function(){
                $("div:first").css("background", "#ffbbaa");
            });
            //选择最后一个 div 元素
            $("#btn2").click(function(){
                $("div:last").css("background", "#ffbbaa");
            });
            //选择class不为 one 的所有 div 元素
            $("#btn3").click(function(){
                $("div:not(.one)").css("background", "#ffbbaa");
            });

            //选择索引值为偶数的 div 元素
            $("#btn4").click(function(){
                $("div:even").css("background", "#ffbbaa");
            });
            //选择索引值为奇数的 div 元素
            $("#btn5").click(function(){
                $("div:odd").css("background", "#ffbbaa");
            });

            //选择索引值为大于 3 的 div 元素
            $("#btn6").click(function(){
                $("div:gt(3)").css("background", "#ffbbaa");
            });
            //选择索引值为等于 3 的 div 元素
            $("#btn7").click(function(){
                $("div:eq(3)").css("background", "#ffbbaa");
            });
            //选择索引值为小于 3 的 div 元素
            $("#btn8").click(function(){
                $("div:lt(3)").css("background", "#ffbbaa");
            });

            //选择所有的标题元素
            $("#btn9").click(function(){
                $(":header").css("background", "#ffbbaa");
            });
            //选择当前正在执行动画的所有元素
            $("#btn10").click(function(){
                $(":animated").css("background", "#ffbbaa");
            });
            //择 id 为 two 的下一个 span 元素
            $("#btn11").click(function(){
                $("#two").nextAll("span:first").css("background", "#ffbbaa");
            });

            anmateIt();
            function anmateIt(){
                $("#mover").slideToggle("slow", anmateIt);
            }

        });

    </script>
</head>
<body>
<input type="button" value="选择第一个 div 元素" id="btn1" />
<input type="button" value="选择最后一个 div 元素" id="btn2" />
<input type="button" value="选择class不为 one 的所有 div 元素" id="btn3" />

<input type="button" value="选择索引值为偶数的 div 元素" id="btn4" />
<input type="button" value="选择索引值为奇数的 div 元素" id="btn5" />
<input type="button" value="选择索引值为大于 3 的 div 元素" id="btn6" />

<input type="button" value="选择索引值为等于 3 的 div 元素" id="btn7" />
<input type="button" value="选择索引值为小于 3 的 div 元素" id="btn8" />
<input type="button" value="选择所有的标题元素" id="btn9" />

<input type="button" value="选择当前正在执行动画的所有元素" id="btn10" />
<input type="button" value="选择 id 为 two 的下一个 span 元素" id="btn11" />

<h3>基本选择器.</h3>
<br><br>
<div class="one" id="one">
    id 为 one,class 为 one 的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"></div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class为"hide"的div</div>
<div>
    包含input的type为"hidden"的div<input type="hidden" size="8">
</div>
<span id="span">^^span元素 111^^</span>
<span id="span">^^span元素 222^^</span>
<div id="mover">正在执行动画的div元素.</div>
</body>
</html>
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

4.内容过滤选择器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Verdana;
        }

        div.mini {
            width: 55px;
            height: 55px;
            background-color: #aaa;
            font-size: 12px;
        }

        div.hide {
            display: none;
        }
    </style>


    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            //改变含有文本 ‘di’ 的 div 元素的背景色
            $("#btn1").click(function(){
                $("div:contains('di')").css("background", "#ffbbaa");
            });
            // 改变不包含子元素(或者文本元素) 的 div 空元素的背景色
            $("#btn2").click(function(){
                $("div:empty").css("background", "#ffbbaa");
            });
            //改变含有 class 为 mini 元素的 div 元素的背景色为 # bbffaa
            $("#btn3").click(function(){
                //选class为mini的父元素
                $("div:has(.mini)").css("background", "#ffbbaa");
            });
            //改变含有子元素(或者文本元素)的div元素的背景色为 # bbffaa
            $("#btn4").click(function(){
                $("div:parent").css("background", "#ffbbaa");
                //也可以写下面的
                //$("div:not(:empty)").css("background", "#ffbbaa");
            });
        });

    </script>
</head>
<body>
<input type="button" value="选择 含有文本 'di' 的 div 元素" id="btn1" />
<input type="button" value="选择不包含子元素(或者文本元素) 的 div 空元素" id="btn2" />
<input type="button" value="选择含有 class 为 mini 元素的 div 元素" id="btn3" />
<input type="button" value="选择含有子元素(或者文本元素)的div元素" id="btn4" />

<br><br>
<div class="one" id="one">
    id 为 one,class 为 one 的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"></div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class为"hide"的div</div>
<div>
    包含input的type为"hidden"的div<input type="hidden" size="8">
</div>
<div id="mover">正在执行动画的div元素.</div>
</body>
</html>
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

5.可见性过滤选择器
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Verdana;
        }

        div.mini {
            width: 55px;
            height: 55px;
            background-color: #aaa;
            font-size: 12px;
        }

        div.hide {
            display: none;
        }
    </style>

    <!--
        可见性过滤选择器是(根据元素的可见和不可见状态)来选择相应的元素

        选择器 :                                                                    描述:                                                                                                 返回
        :hidden   选取所有(不可见)的元素             集合元素
        :visible  选择所有(可见)的元素                                   集合元素

         -->
    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){

            $("#btn1").click(function(){
                $("div:visible").css("background", "#ffbbaa");
            });
            $("#btn2").click(function(){
                //alert($("div:hidden").length);
                //show(time): 可以使不可见的元素变为可见, time 表示时间, 以毫秒为单位
                //jQuery 的很多方法支持方法的连缀, 即一个方法的返回值来时调用该方法的 jQuery 对象: 可以继续调用该对象的其他方法.
                $("div:hidden").show(2000).css("background", "#ffbbaa");
            });
            $("#btn3").click(function(){
                //val() 方法可以返回某一个表单元素的 value 属性值.
                alert($("input:hidden").val());
            });

        });
    </script>
</head>
<body>
<input type="button" value="选取所有可见的  div 元素" id="btn1">
<input type="button" value="选择所有不可见的 div 元素" id="btn2" />
<input type="button" value="选择所有不可见的 input 元素" id="btn3" />

<br><br>
<div class="one" id="one">
    id 为 one,class 为 one 的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"></div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class为"hide"的div</div>
<div>
    包含input的type为"hidden"的div
    <input type="hidden" value="123456789000" size="8">
</div>
<div id="mover">正在执行动画的div元素.</div>
</body>
</html>

将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

6.属性过滤器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Verdana;
        }

        div.mini {
            width: 55px;
            height: 55px;
            background-color: #aaa;
            font-size: 12px;
        }

        div.hide {
            display: none;
        }
    </style>

    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        $(function(){

            $("#btn1").click(function(){
                $("div[title]").css("background", "#ffbbaa");
            });
            $("#btn2").click(function(){
                $("div[title='test']").css("background", "#ffbbaa");
            });
            $("#btn3").click(function(){
                //选取的元素中包含没有 title 的 div 元素.
                $("div[title!='test']").css("background", "#ffbbaa");
            });

            $("#btn4").click(function(){
                $("div[title^='te']").css("background", "#ffbbaa");
            });

            $("#btn5").click(function(){
                $("div[title$='est']").css("background", "#ffbbaa");
            });
            $("#btn6").click(function(){
                $("div[title*='es']").css("background", "#ffbbaa");
            });
            //组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有'es'的 div 元素.
            $("#btn7").click(function(){
                $("div[id][title*='es']").css("background", "#ffbbaa");
            });
            //选取 含有 title 属性值, 且title 属性值不等于 test 的 div 元素.
            $("#btn8").click(function(){
                $("div[title][title!='test']").css("background", "#ffbbaa");
            });

        })
    </script>
</head>
<body>
<input type="button" value="选取含有 属性title 的div元素." id="btn1"/>
<input type="button" value="选取 属性title值等于'test'的div元素." id="btn2"/>
<input type="button" value="选取 属性title值不等于'test'的div元素(没有属性title的也将被选中)." id="btn3"/>
<input type="button" value="选取 属性title值 以'te'开始 的div元素." id="btn4"/>

<input type="button" value="选取 属性title值 以'est'结束 的div元素." id="btn5"/>
<input type="button" value="选取 属性title值 含有'es'的div元素." id="btn6"/>
<input type="button" value="组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有'es'的 div 元素." id="btn7"/>
<input type="button" value="选取 含有 title 属性值, 且title 属性值不等于 test 的 div 元素." id="btn8"/>

<br><br>
<div class="one" id="one">
    id 为 one,class 为 one 的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"></div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class为"hide"的div</div>
<div>
    包含input的type为"hidden"的div<input type="hidden" value="123456789" size="8">
</div>
<div id="mover">正在执行动画的div元素.</div>
</body>
</html>

将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

7.子元素过滤选择器
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Verdana;
        }

        div.mini {
            width: 55px;
            height: 55px;
            background-color: #aaa;
            font-size: 12px;
        }

        div.hide {
            display: none;
        }
    </style>
    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){

            $("#btn1").click(function(){
                //选取子元素, 需要在选择器前添加一个空格!!!!.
                $("div.one :nth-child(2)").css("background", "#ffbbaa");
            });
            $("#btn2").click(function(){
                $("div.one :first-child").css("background", "#ffbbaa");
            });
            //选取每个class为one的div父元素下的最后一个子元素
            $("#btn3").click(function(){
                $("div.one :last-child").css("background", "#ffbbaa");
            });

            $("#btn4").click(function(){
                $("div.one :only-child").css("background", "#ffbbaa");
            });

        });
    </script>
</head>
<body>
<input type="button" value="选取每个class为one的div父元素下的第2个子元素." id="btn1"/>
<input type="button" value="选取每个class为one的div父元素下的第一个子元素." id="btn2"/>
<input type="button" value="选取每个class为one的div父元素下的最后一个子元素." id="btn3"/>
<input type="button" value="如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素." id="btn4"/>

<br><br>
<div class="one" id="one">
    id 为 one,class 为 one 的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini"></div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini">class为mini</div>
    <div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class为"hide"的div</div>
<div>
    包含input的type为"hidden"的div<input type="hidden" value="123456789" size="8">
</div>
<div id="mover">正在执行动画的div元素.</div>
</body>
</html>
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

8.表单属性过滤器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
			$(function(){
				$("#btn1").click(function(){
					//$("input:enabled").val("changwen"); 这样写不好,因为input有多个
					//使所有的可用的单行文本框的 value 值变为 changwen
					alert($(":text:enabled").val());
					//val()是获取值,而val("XX")则是修改值
					$(":text:enabled").val("changwen");
				});
				$("#btn2").click(function(){
					$(":text:disabled").val("www.atguigu.com");
				});
				//获取多选框选中的个数
				$("#btn3").click(function(){
					//type="checkbox"表示多选框
					var num = $(":checkbox[name='newsletter']:checked").length;
					alert(num);
				});
				//获取多选框选中的内容
				$("#btn4").click(function(){
					$(":checkbox[name='newsletter']:checked").each(function(){
						alert(this.value);
					});
				});
				$("#btn5").click(function(){
					//实际被选择的不是 select, 而是 select 的 option 子节点.<option selected="selected">天津</option>
					//所以要加一个 空格. 
					//var len = $("select :selected").length
					//alert(len);
					
					//因为 $("select :selected") 选择的是一个数组
					//当该数组中有多个元素时, 通过 .val() 方法就只能获取第一个!!被选择的值了. 
					//alert($("select :selected").val());
					
					//jQuery 对象遍历的方式使 each, 在 each 内部的 this 是正在
					//得到的 DOM 对象, 而不是一个 jQuery 对象
					$("select :selected").each(function(){
						alert(this.value);
					});
				});

			})
		</script>
		
	</head>
	<body>
		<h3>表单对象属性过滤选择器</h3>
		 <button id="btn1">对表单内 可用input 赋值操作.</button>
  		 <button id="btn2">对表单内 不可用input 赋值操作.</button><br /><br />
		 <button id="btn3">获取多选框选中的个数.</button>
		 <button id="btn4">获取多选框选中的内容.</button><br /><br />
         <button id="btn5">获取下拉框选中的内容.</button><br /><br />
		 
		<form id="form1" action="#">			
			可用元素: <input name="add" value="可用文本框1"/><br>
			不可用元素: <input name="email" disabled="true" value="不可用文本框"/><br>
			可用元素: <input name="che" value="可用文本框2"/><br>
			不可用元素: <input name="name" disabled="true" value="不可用文本框"/><br>
			<br>
			
			多选框: <br>
			<input type="checkbox" name="newsletter" checked="checked" value="test1" />test1
			<input type="checkbox" name="newsletter" value="test2" />test2
			<input type="checkbox" name="newsletter" value="test3" />test3
			<input type="checkbox" name="newsletter" checked="checked" value="test4" />test4
			<input type="checkbox" name="newsletter" value="test5" />test5
			
			<br><br>
			下拉列表1: <br>
			<select name="test" multiple="multiple" style="height: 100px">
				<option>浙江</option>
				<option selected="selected">辽宁</option>
				<option>北京</option>
				<option selected="selected">天津</option>
				<option>广州</option>
				<option>湖北</option>
			</select>
			
			<br><br>
			下拉列表2: <br>
			<select name="test2">
				<option>浙江</option>
				<option>辽宁</option>
				<option selected="selected">北京</option>
				<option>天津</option>
				<option>广州</option>
				<option>湖北</option>
			</select>
			
			<textarea rows="" cols=""></textarea>
		</form>		
	</body>
</html>

将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p
9.一个练习

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		<!-- 导入 jQuery 库 -->
		<script type="text/javascript" src="/scripts/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			$(function(){
				//1. 点击所有的 p 节点, 能够弹出其对应的文本内容
				/*
				1. jQuery 对象可以进行隐式迭代: $("p").click(function(){...});
				为选取的所有的 p 节点都添加了 click 响应函数. jQuery 对象本身就是一个 
				DOM 对象的数组
				2. 在响应函数中, this 是一个 DOM 对象. 若想使用 jQuery 对象的方法
				需要把其包装为 jQuery 对象: 使用 $() 把 this 包起来. 
				3. text() 方法时一个读写的方法: 不加任何参数, 读取文本值;
				加参数为属性节点添加文本值(文本节点) (和 text() 类似的方法: attr(), val())
				*/
				$("p").click(function(){
					alert($(this).text());
					$(this).text("^^" + $(this).text());
					//alert(this.firstChild.nodeValue);
				});
				
				//2. 使第一个 table 隔行变色
				$("table:first tr:even").css("background", "#ffaacc");
				
				//3. 点击 button, 弹出 checkbox 被选中的个数
				$("button").click(function(){
					alert($(":checkbox:checked").length);
				});
			});
		</script>
	</head>
	<body>
		<p>段落1</p>
		<p>段落2</p>
		<p>段落3</p>
		
		<table>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
		</table>
		<br>
		<hr>
		<br>
		<table>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
			<tr>
				<td>第一行</td><td>第一行</td>
			</tr>
		</table>
		
		<input type="checkbox" name="test" />
		<input type="checkbox" name="test" />
		<input type="checkbox" name="test" />
		<input type="checkbox" name="test" />
		<input type="checkbox" name="test" />
		<input type="checkbox" name="test" />
		<button>您选中的个数</button>
	</body>
</html>
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

二、dom操作

2-1.查找节点

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>

    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        //测试使用 jQuery 操作文本节点, 属性节点.
        //及查找元素节点
        $(function(){
            //1. 操作文本节点: 通过 jQuery 对象的 text() 方法
            alert($("#bj").text());
            $("#bj").text("changwen1");

            //2. 操作属性节点: 通过 jQuery 对象的 attr() 方法.
            //注: 直接操作 value 属性值可以使用更便捷的 val() 方法.
            alert($(":text[name='username']").attr("value"));
            $(":text[name='username']").attr("value", "changwen2");
        })
    </script>

</head>
<body>
<p>你喜欢哪个城市?</p>
<ul id="city"><li id="bj" name="BeiJing">北京</li>
    <li>上海</li>
    <li id="dj">东京</li>
    <li id="se">首尔</li>
</ul>

name: <input type="text" name="username" value="test_value"/>
</body>
</html>
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p
2-2.创建和插入节点

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>

    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        //测试使用 jQuery 创建节点并插入节点到指定的节点中
        /*
         1. 创建节点: 使用 $(html) 方式即可, 元素节点, 文本节点, 属性节点可以一网打尽
         返回对应节点的 jQuery 对象:         $("<li id='changwen'>[常文]</li>")

         2. 添加节点:
         */
        $(function(){
            //1. 创建一个 <li id='changwen'>[常文]</li>
            //2. 并把其加入到 #city 的子节点
            //$("<li id='changwen'>[常文]</li>").appendTo($("#city"));
            //$("#city").append("<li id='changwen'>[常文]</li>");

            //$("<li id='changwen'>[常文]</li>").prependTo($("#city"));
            $("#city").prepend("<li id='changwen'>[常文]</li>");
            alert($("#changwen").text());
        })
    </script>

</head>
<body>
<p>你喜欢哪个城市?</p>
<ul id="city"><li id="bj" name="BeiJing">北京</li>
    <li>上海</li>
    <li id="dj">东京</li>
    <li id="se">首尔</li>
</ul>
</body>
</html>

将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        //测试使用 jQuery 插入节点
        $(function(){
            //1. 创建一个 <li id='changwen'>[常文]</li>
            //2. 并把其加入到 #bj 的后面
            //$("<li id='changwen'>[常文]</li>").insertAfter($("#bj"));
            //$("#bj").after("<li id='changwen'>[常文]</li>");

            //$("<li id='changwen'>[常文]</li>").insertBefore($("#bj"));
            $("#bj").before("<li id='changwen'>[常文]</li>");
        })
    </script>

2-3.删除节点

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		
    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
			//测试使用 jQuery 删除节点
			$(function(){
				//1. 为 #city 的每一个 li 添加 click 响应函数: 点击时, li 被删除
				//$("#city li").click(function(){
				//	$(this).remove();
				//});
			
				//jQuery 对象的 remove() 方法: 将把 jQuery 对象对应的
				//DOM 节点直接删除. 
				$("#bj").remove();
				
				//2. 清空 #game 节点
				//jQuery 对象的 empty() 方法: 清空 jQuery 对象对应的 
				//DOM 对象的所有的子节点. 
				alert("要清空了!");
				$("#game").empty();
			})
		</script>
		
	</head>
	<body>
		<p>你喜欢哪个城市?</p>
		<ul id="city"><li id="bj" name="BeiJing">北京</li>
			<li>上海</li>
			<li id="dj">东京</li>
			<li id="se">首尔</li>
		</ul>
		
		<p>你喜欢哪款单机游戏?</p>
		<ul id="game">
			<li id="rl">红警</li>
			<li>实况</li>
			<li>极品飞车</li>
			<li>魔兽</li>
		</ul>
	</body>
</html>	
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

2-4.复制节点和替换节点

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>
    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">

        //测试使用 jQuery clone 方法: 复制节点
        $(function(){
            $("li").click(function(){
                alert($(this).text());
            });

            //复制 #bj 节点, 并添加到 #rl 节点的后面
            /*
             1. clone 节点时需要注意克隆后的节点的 id 属性. 若原节点有 id
             属性, 则克隆后, 会出现在一个文档中有两个 id 相同的节点的情况.
             2. clone(true): 在克隆节点的同时, 克隆节点包含的事件. 
             */
            $("#bj").clone(true)
                    .attr("id", "bj2")
                    .insertAfter($("#rl"));

        })
    </script>

</head>
<body>
<p>你喜欢哪个城市?</p>
<ul id="city">
    <li id="bj" name="BeiJing">北京</li>
    <li>上海</li>
    <li id="dj">东京</li>
    <li id="se">首尔</li>
</ul>

<p>你喜欢哪款单机游戏?</p>
<ul id="game">
    <li id="rl">红警</li>
    <li>实况</li>
    <li>极品飞车</li>
    <li>魔兽</li>
</ul>
</body>
</html>	
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Untitled Document</title>

    <!-- 导入 jQuery 库 -->
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
        //测试使用 jQuery replaceWith (replaceAll) 方法: 替换节点
        /*
         1. replaceWith , replaceAll 一对方法, 可以完成一件事. 就是主语宾语
         哪个在前面的问题. 
         2. 以上的两个方法还有移动节点的功能
         3. 节点互换需要先克隆节点. 
         4. var $rl = $("#rl").replaceWith($bj2);
         */
        $(function(){
            //1. 创建一个 <li>[常文]</li> 节点, 替换 #city 的最后一个 li 子节点
            $("<li>[常文]</li>").replaceAll($("#city li:last"));

            //2. 创建一个 <li>[常文]</li> 节点,
            //替换 #city 的第二个 li 子节点
            $("#city li:eq(1)").replaceWith($("<li>[常文]</li>"));

            //3. 互换以下两个节点: #rl 和 #bj. 还有移动的功能.
            //$("#bj").replaceWith($("#rl"));

            //节点互换需要先克隆节点. 
            alert(1);
            var $bj2 = $("#bj").clone(true);
            var $rl = $("#rl").replaceWith($bj2);

            alert(2);
            $("#bj").replaceWith($rl);
        })
    </script>

</head>
<body>
<p>你喜欢哪个城市?</p>
<ul id="city">
    <li id="bj" name="BeiJing">北京</li>
    <li>上海</li>
    <li id="dj">东京</li>
    <li id="se">首尔</li>
</ul>

<p>你喜欢哪款单机游戏?</p>
<ul id="game">
    <li id="rl">红警</li>
    <li>实况</li>
    <li>极品飞车</li>
    <li>魔兽</li>
</ul>
</body>
</html>	

将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

2-5.包裹节点
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		
		<script type="text/javascript" src="/jquery/jquery.js"></script>
		<pre name="code" class="html">		<script type="text/javascript">
		//测试使用 jQuery wrap, wrapAll, wrapInner
		$(function(){
			//包装 li 本身 每一个li都变成这样子 <font color="red"><li>实况</li></font>
			$("#game li").wrap("<font color='red'></font>");

			//包装所有的 li. <font color="red"><li>上海</li>  <li>北京</li> ...</font>
			$("#city li").wrapAll("<font color='red'></font>");

			//包装 li 里边的文字.
			$("#language li").wrapInner("<font color='red'></font>");
		})
	</script>
</head><body><p>你喜欢哪个城市?</p><ul id="city"><li id="bj" name="BeiJing">北京</li><li>上海</li><li id="dj">东京</li><li id="se">首尔</li></ul><p>你喜欢哪款单机游戏?</p><ul id="game"><li id="rl">红警</li><li>实况</li><li>极品飞车</li><li>魔兽</li></ul><p>你喜欢哪种开发语言?</p><ul id="language"><li>C</li><li>Java</li><li>.NET</li><li>PHP</li></ul></body></html>
 将代码放到这里测试: 
http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p 

2.6.html()方法和val()方法测试

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		
		<script type="text/javascript" src="scripts/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			//测试使用 html() 方法. 
			$(function(){
				alert($("#city").html());
				$("#city").html("<li id='changwen'>[常文]</li>");
			})
		</script>
		
	</head>
	<body>
		<p>你喜欢哪个城市?</p>
		<ul id="city">
			<li id="bj" name="BeiJing">北京</li>
			<li>上海</li>
			<li id="dj">东京</li>
			<li id="se">首尔</li>
		</ul>
	</body>
</html>	
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		<script type="text/javascript" src="/jquery/jquery.js"></script>
		<script type="text/javascript">
		
			$(function(){
				//1. 为 #address 添加 focus(获取焦点), blur(失去焦点) 响应函数
				$(":text").focus(function(){
					//2. 当获取焦点时, 若 #address 中是默认值
					//(defaultValue 属性, 该属性是 DOM 对象的属性), 就使其值置为 ""
					var val = $(this).val();
					
					if(val == this.defaultValue){
						$(this).val("");
					}
				}).blur(function(){
					//3. 失去焦点是, 若 #address 的值在去除前后空格后等于 ""
					//则为其恢复默认值. 
					var val = this.value;	
					if($.trim(val) == ""){
						this.value = this.defaultValue;
					}
				});
				
				//2. 
				$(":button:eq(1)").click(function(){
					$("#single").val("选择3号");
				});
				
				$(":button:eq(2)").click(function(){
					$("#multiple").val(["选择2号", "选择4号"]);				
				});
								
				$(":button:eq(3)").click(function(){
					$(":checkbox[name='c']").val(["check2", "check4"]);
				});
				
				$(":button:eq(4)").click(function(){
					//即便是为一组 radio 赋值, val 参数中也应该使用数组. 
					//使用一个值不起作用。 
					$(":radio[name='r']").val(["radio2"]);
				});
				
				$(":button:eq(5)").click(function(){
					//val() 可以直接获取 select 的被选择的值. 
					alert($("#single").val());
					alert($("#multiple").val());
					
					//val 不能直接获取 checkbox 被选择的值
					//若直接获取, 只能得到第一个被选择的值. 
					//因为 $(":checkbox[name='c']:checked") 得到的是一个
					//数组. 而使用 val() 方法只能获取数组元素的第一个值
					//若希望打印被选择的所有制, 需要使用 each 遍历. 
					//alert($(":checkbox[name='c']:checked").val());
					$(":checkbox[name='c']:checked").each(function(){
						alert(this.value);
					});
					
					//而 raido 被选择的只有一个, 所以可以直接使用 val() 方法. 
					alert($(":radio[name='r']:checked").val());
				});
				
			})
		
		</script>
	</head>
	<body>
		<input type="text" id="address" value="请输入邮箱地址"><br>
		<input type="text" id="password" value="请输入邮箱密码"><br>
		<input type="button" value="登录">
		
		<br><br><br>
		
		<input type="button" value="使单选下拉框的'选择3号'被选中"/>
		<input type="button" value="使多选下拉框选中的'选择2号'和'选择4号'被选中"/><br>
		<input type="button" value="使多选框的'多选2'和'多选4'被选中"/>
		<input type="button" value="使单选框的'单选2'被选中"/><br>
		<input type="button" value="打印已经被选中的值"><br>
 
		<br/>
		
		<select id="single">
		  <option>选择1号</option>
		  <option>选择2号</option>
		  <option>选择3号</option>
		</select>
		
		<select id="multiple" multiple="multiple" style="height:120px;">
		  <option selected="selected">选择1号</option>
		  <option>选择2号</option>
		  <option>选择3号</option>
		  <option>选择4号</option>
		  <option selected="selected">选择5号</option>
		</select>
		
		<br/><br/>

		<input type="checkbox" name="c" value="check1"/> 多选1
		<input type="checkbox" name="c" value="check2"/> 多选2
		<input type="checkbox" name="c" value="check3"/> 多选3
		<input type="checkbox" name="c" value="check4"/> 多选4
		
		<br/>
		
		<input type="radio" name="r" value="radio1"/> 单选1
		<input type="radio" name="r"  value="radio2"/> 单选2
		<input type="radio" name="r"  value="radio3"/> 单选3
	</body>
</html>
将代码放到这里测试: http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

2-8.样式操作

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title></title>
		<style type="text/css">
			*{ margin:0; padding:0;}
			body {font-size:12px;text-align:center;}
			a { color:#04D; text-decoration:none;}
			a:hover { color:#F50; text-decoration:underline;}
			.SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
			.SubCategoryBox ul { list-style:none;}
			.SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
			.showmore { clear:both; text-align:center;padding-top:10px;}
			.showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
			
			.showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
			
			.promoted a { color:#F50;}
		</style>
		<script type="text/javascript" src="/jquery/jquery.js"></script>
		<script type="text/javascript">
			$(function(){
				
				//测试 jQuery 样式相关的方法. 
				
				//1. hasClass(): 某元素是否有指定的样式
				alert($("div:first").hasClass("SubCategoryBox")); //true
				
				//2. 移除样式
				$("div:first").removeClass("SubCategoryBox");
				
				alert($("div:first").hasClass("SubCategoryBox"));
				
				//3. 添加样式
				$("div:first").addClass("SubCategoryBox");
				
				//4. 切换样式: 存在, 则去除; 没有, 则添加. 
				$(".showmore").click(function(){
					$("div:first").toggleClass("SubCategoryBox");
					return false;
				});
				
				//5. 获取和设置元素透明度: opacity 属性
				alert($("div:first").css("opacity"));
				
				$("div:first").css("opacity", 0.5);
				
				//6. width 和 height
				alert($("div:first").width());
				alert($("div:first").height());
				
				$("div:first").width(400);
				$("div:first").height(80);
				
				//7. 获取元素在当前视窗中的相对位移: offset(). 
				//其返回对象包含了两个属性: top, left. 该方法只对可见元素有效
				alert($("div:first").offset().top);
				alert($("div:first").offset().left);
				
			});
		</script>
	</head>
	<body>
		<div class="SubCategoryBox">
			<ul>
				<li ><a href="#">佳能</a><i>(30440) </i></li>
				<li ><a href="#">索尼</a><i>(27220) </i></li>
				<li ><a href="#">三星</a><i>(20808) </i></li>
				<li ><a href="#">尼康</a><i>(17821) </i></li>
				<li ><a href="#">松下</a><i>(12289) </i></li>
				<li ><a href="#">卡西欧</a><i>(8242) </i></li>
				<li ><a href="#">富士</a><i>(14894) </i></li>
				<li ><a href="#">柯达</a><i>(9520) </i></li>
				<li ><a href="#">宾得</a><i>(2195) </i></li>
				<li ><a href="#">理光</a><i>(4114) </i></li>
				<li ><a href="#">奥林巴斯</a><i>(12205) </i></li>
				<li ><a href="#">明基</a><i>(1466) </i></li>
				<li ><a href="#">爱国者</a><i>(3091) </i></li>
				<li ><a href="#">其它品牌相机</a><i>(7275) </i></li>
			</ul>
			<div class="showmore">
				<a href="more.html"><span>显示全部品牌</span></a>
			</div>
		</div>
	</body>
</html>

将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

2-8.事件绑定与合成事件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		<link href="css/style.css" type="text/css" rel="stylesheet" />
		<script type="text/javascript" src="/jquery/jquery.js"></script>
	
		<script type="text/javascript">
			//为 .head 添加 Onclick 响应函数: 若 .content 隐藏则显示, 若 .content 显示, 则隐藏
			$(function(){
				/*
				$(".head").click(function(){
					//使用 is() 方法, 来判断某个给定的 jQuery 对象是否符合指定的选择器.
					var flag = $(".content").is(":hidden");
					
					if(flag){
						//show() 方法: 使隐藏的变为显示
						$(".content").show();
					}else{
						$(".content").hide();
					}
				});
				*/
				
				//bind: 为某 jQuery 对象绑定事件. 
				/*
				$(".head").bind("click", function(){
					//使用 is() 方法, 来判断某个给定的 jQuery 对象是否符合指定
					//的选择器. 
					var flag = $(".content").is(":hidden");
					
					if(flag){
						//show() 方法: 使隐藏的变为显示
						$(".content").show();
					}else{
						$(".content").hide();
					}
				});
				*/
				
				//mouseover: 鼠标移上去
				//mouseout: 鼠标移出. 
				/*
				$(".head").mouseover(function(){
					$(".content").show();
				}).mouseout(function(){
					$(".content").hide();
				});
				*/
				
				//合成事件: hover: 鼠标移上去执行第一个函数, 移出执行第二个函数. 
				/*
				$(".head").hover(function(){
					$(".content").show();
				}, function(){
					$(".content").hide();
				});
				*/
				
				//合成事件: toggle: 第一次点击执行第一个函数, 第二次点击执行第二个
				//函数 ... 循环执行. 
				$(".head").toggle(function(){
					$(".content").show();
				}, function(){
					$(".content").hide();
				});
			})
		</script>
	
	</head>
	<body>
		<div id="panel">
			<h5 class="head">什么是jQuery?</h5>
			<div class="content">
				jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由 John Resig 创建于2006年1月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。
			</div>
		</div>
	</body>

</html>


将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

2-9.冒泡事件

		<script type="text/javascript">
			$(function(){
				//事件的冒泡: 什么是事件的冒泡
				$("body").click(function(){
					alert("body click");
				});
				
				$("#content").click(function(){
					alert("div click");
				});
				
				$("span").click(function(){
					alert("span click");
					//如何解决事件的冒泡: 通过在响应函数的结尾返回 false, 可以阻止冒泡. 
					return false;
				});
			})
		
		</script>

2-10.移除事件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		
		<script type="text/javascript" src="/jquery/jquery.js"></script>
		<script type="text/javascript">
			//测试移除事件: 使用 unbind 移除事件. 
			//one(): 只为某一个元素添加一次事件, 事件函数响应后, 将不再被触发响应. 
			$(function(){
				$("#rl").one("click", function(){
					alert("红色警戒. ");
				});
				
				$("li:not(#rl)").click(function(){
					alert(this.firstChild.nodeValue);
					
					//对于 #bj 节点, 点击一次后, 就没有 click 响应函数了
					if(this.id == "bj")
						$("#bj").unbind("click");
				});
			})
		</script>
		
	</head>
	<body>
		<p>你喜欢哪个城市?</p>
		<ul id="city">
			<li id="bj" name="BeiJing">北京</li>
			<li>上海</li>
			<li id="dj">东京</li>
			<li id="se">首尔</li>
		</ul>
		
		<p>你喜欢哪款单机游戏?</p>
		<ul id="game">
			<li id="rl">红警</li>
			<li>实况</li>
			<li>极品飞车</li>
			<li>魔兽</li>
		</ul>
	</body>
</html>	

将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

2-11.jQuery动画

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		<link href="css/style.css" type="text/css" rel="stylesheet" />

		<script type="text/javascript" src="/jquery/jquery.js"></script>
		<script type="text/javascript">
			//演示动画效果: show() 和 hide() 方法中传入毫秒数以达到动画的效果
			/*$(function(){
				$(".head").toggle(function(){
					$(".content").show(1000);
				}, function(){
					$(".content").hide(1000);
				});
			})*/
			
			//只改变高度,传入毫秒数以达到动画的效果
			/*$(function(){
				$(".head").toggle(function(){
					$(".content").slideDown(500);
				}, function(){
					$(".content").slideUp(500);
				});
			})*/
			
			//只改变透明度
			/*$(function(){
				$(".head").toggle(function(){
					$(".content").fadeIn(1000);
				}, function(){
					$(".content").fadeOut(1000);
				});
			})*/
			
			//toggle() 可以切换元素的可见状态. 
			//slideToggle(): 通过高度变化来切换匹配元素的可见性
			//fadeToggle(): 通过透明度来切换元素的可见性.
			//fadeTo(): 把不透明度以渐近的方式调整到指定的值 (0 – 1 之间). 
			$(function(){ 
				$(".content").show();
				var i = 1; 
				
				$(".head").click(function(){
					//$(".content").toggle();
					//$(".content").slideToggle();
					//$(".content").fadeToggle();
					
					$(".content").fadeTo("slow", i);
					i = i - 0.1;
				});
			})
		</script>
	
	</head>
	<body>
		<div id="panel">
			<h5 class="head">什么是jQuery?</h5>
			<div class="content">
				jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由 John Resig 创建于2006年1月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。
			</div>
		</div>
	</body>
</html>

将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

2-12.两个练习

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title></title>
		<style type="text/css">
			*{ margin:0; padding:0;}
			body {font-size:12px;text-align:center;}
			a { color:#04D; text-decoration:none;}
			a:hover { color:#F50; text-decoration:underline;}
			.SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
			.SubCategoryBox ul { list-style:none;}
			.SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
			.showmore { clear:both; text-align:center;padding-top:10px;}
			.showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
			
			.showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
			
			.promoted a { color:#F50;}
		</style>
		<script type="text/javascript" src="/jquery/jquery.js"></script>
		<script type="text/javascript">
			/*
			var $category = $("li:gt(5):lt(10)");
			此时的 lt 是在 li:gt(5) 基础上进行的. 
			*/
			$(function(){
				//1. 需要选择从 "富士" - "爱国者" 的所有 li: $category
				var $category = $("li:gt(5):not(:last)");
				
				//2. 把他们隐藏. 
				$category.hide();
				
				//3. 为 .showmore 添加一个 onclick 响应函数(取消默认行为)
				$(".showmore").click(function(){
					
					//4. 若 $category 是隐藏的. 使用 is
					if($category.is(":hidden")){
						//4.1 $category 显示
						$category.show();
						
						//4.2 使 "佳能", "尼康", "奥林巴斯" 变为高亮显示: 
						//添加 .promoted 的 class
						$("li:contains('佳能'),li:contains('尼康'),li:contains('奥林巴斯')").addClass("promoted");
						
						//4.3 .showmore > a > span 的文字变为: 显示精简品牌
						$(".showmore > a > span").text("显示精简品牌");
						
						//4.4 .showmore > a > span 的 background 变为: 
						//url(img/up.gif) no-repeat 0 0
						$(".showmore > a > span").css("background", "url(img/up.gif) no-repeat 0 0");
					}
					//5. 若 $category 是显示的. 
					else{
						$category.hide();
						$("li").removeClass("promoted");
						$(".showmore > a > span").text("显示全部品牌");
						$(".showmore > a > span").css("background", "url(img/down.gif) no-repeat 0 0");
					}
					
					return false;
				});
				
				
				
			});
		</script>
	</head>
	<body>
		<div class="SubCategoryBox">
			<ul>
				<li ><a href="#">佳能</a><i>(30440) </i></li>
				<li ><a href="#">索尼</a><i>(27220) </i></li>
				<li ><a href="#">三星</a><i>(20808) </i></li>
				<li ><a href="#">尼康</a><i>(17821) </i></li>
				<li ><a href="#">松下</a><i>(12289) </i></li>
				<li ><a href="#">卡西欧</a><i>(8242) </i></li>
				<li ><a href="#">富士</a><i>(14894) </i></li>
				<li ><a href="#">柯达</a><i>(9520) </i></li>
				<li ><a href="#">宾得</a><i>(2195) </i></li>
				<li ><a href="#">理光</a><i>(4114) </i></li>
				<li ><a href="#">奥林巴斯</a><i>(12205) </i></li>
				<li ><a href="#">明基</a><i>(1466) </i></li>
				<li ><a href="#">爱国者</a><i>(3091) </i></li>
				<li ><a href="#">其它品牌相机</a><i>(7275) </i></li>
			</ul>
			<div class="showmore">
				<a href="more.html"><span>显示全部品牌</span></a>
			</div>
		</div>
	</body>
</html>


将代码放到这里测试:http://www.w3school.com.cn/tiy/t.asp?f=jquery_css_change_p

三、Ajax测试代码

1、使用 XMLHttpReques写一个HelloWorld.jsp

helloAjax.txt里的内容为:helloAjax。。。

helloWorld.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">

		window.onload = function(){
			//1.获取a节点,并为其添加onclick响应函数
			document.getElementsByTagName("a")[0].onclick = function(){
				//3、创建一个XMLHttpRequest对象
				var request = new XMLHttpRequest();
				
				//4、准备发送请求的数据: url
				var url = this.href;
				var method = "GET";
				
				//5、调用XMLHttpRequest对象的open 方法
				request.open(method, url);
				
				//6、调用XMLHttpRequest 对象的send方法
				request.send(null);
				
				//7、为XMLHttpRequest对象添加onreadystatchang响应函数
				request.onreadystatechange = function() {
					//8、判断响应是否完成:XMLHttpRequest 对象的readyState属性值为4的时候
					if(request.readyState == 4) { //readyState请求的状态,有5个可能值:0=未初始化、1=正在加载、2=已经加载、3、交互中、4=完成
						
						//9、再判断响应是否可用:XMLHttpRequest 对象status属性值为200
						if(request.status == 200 || request.status == 304) {
							//10:打印响应结果:responseText:服务器的响应,表示为一个串
							alert(request.responseText);
						}
					}
				}
				//2、取消a节点的默认行为
				return false;
			}
		}
</script>
</head>
<body>
	<a href="helloAjax.txt">HelloAjax</a>
</body>
</html>
当点HelloAjax时,页面会弹出txt文件里的内容,而浏览器的url不会改为

2.解析 HTML,用XMLHttpRequest和Ajax实现
1.三个html文件分别为andy.html,jeremy.html,richard.html

<h2><a href="mailto:andy@clearleft.com">Andy Budd</a></h2>
<a href="http://andybudd.com/">http://andybudd.com/</a>
<h2><a href="mailto:jeremy@clearleft.com">Jeremy Keith</a></h2>
<a href="http://adactio.com/">http://adactio.com/</a>
<h2><a href="mailto:richard@clearleft.com">Richard Rutter</a></h2>
<a href="http://clagnut.com/">http://clagnut.com/</a>
2.clealeft.css,其中logo.png随意给一张图片就行
body {
  background: #fff url("logo.png") fixed no-repeat top left;
  color: #321;
  font-family: Myriad,"Lucida Grande","Trebuchet MS",Verdana,Helvetica,Arial,sans-serif;
  line-height: 1.6;
  margin: 1em 20%;
}
a {
  color: #674;
  font-weight: bold;
  text-decoration: none;
}
a:hover {
  color: #896;
  text-decoration: underline;
}
3.index.xml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>People at Clearleft</title>
  <style type="text/css">
  	@import url("clearleft.css");
  </style> 
  	<script type="text/javascript">
  		window.onload = function(){
  			var aNodes = document.getElementsByTagName("a");
  			for(var i=0; i < aNodes.length; i++) {
  				aNodes[i].onclick = function(){
  					
  					var request = new XMLHttpRequest();
  					var method = "GET";
  					var url =this.href;
  					
  					request.open(method, url);
  					request.send(null);
  					request.onreadystatechange = function(){
  						if(request.readyState == 4) {
  							if(request.status == 200 || request.status == 304){
  								document.getElementById("details").innerHTML = request.responseText;
  							}
  						}
  					}
  					return false;
  				}
  			}
  		}
  	</script>
</head>
<body>
  <h1>People</h1>
  <ul>
    <li>
      <a href="files/andy.html">Andy</a>
    </li>
    <li>
      <a href="files/richard.html">Richard</a>
    </li>
    <li>
      <a href="files/jeremy.html">Jeremy</a>
    </li>
  </ul>
  <div id="details"></div>
</body>
</html>

2.用ajax实现

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>People at Clearleft</title>
    <style type="text/css">
        @import url("clearleft.css");
    </style>
    <script type="text/javascript" src="../scripts/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        $(function () {
            $("a").click(function () {
                var url = this.href + " h2 a ";//一定要有空格,这样只会显示h2里的内容
                var args = {"time": new Date()} //加这个用除缓存
                $("#details").load(url,args);  //如果没有参数传递,采用GET方式传递,否则采用POST方式
                return false;
            });
        });
    </script>
</head>
<body>
<h1>People</h1>
<ul>
    <li><a href="files/andy.html">Andy</a></li>
    <li><a href="files/richard.html">Richard</a></li>
    <li><a href="files/jeremy.html">Jeremy</a></li>
</ul>
    <div id="details"></div>
</body>
</html>

3.解析 XML,同时用ajax实现

1.三个xml文件分别为andy.xml,jeremy.xml,richard.xml

<?xml version="1.0" encoding="utf-8"?>
<details>
  <name>Andy Budd</name>
  <website>http://andybudd.com/</website>
  <email>andy@clearleft.com</email>
</details>
<?xml version="1.0" encoding="utf-8"?>
<details>
  <name>Jeremy Keith</name>
  <website>http://adactio.com/</website>
  <email>jeremy@clearleft.com</email>
</details>
<?xml version="1.0" encoding="utf-8"?>
<details>
  <name>Richard Rutter</name>
  <website>http://clagnut.com/</website>
  <email>richard@clearleft.com</email>
</details>

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>People at Clearleft</title>
  <style type="text/css">
  	@import url("clearleft.css");
  </style>
    	<script type="text/javascript">
  		window.onload = function(){
  			var aNodes = document.getElementsByTagName("a");
  			for(var i=0; i < aNodes.length; i++) {
  				aNodes[i].onclick = function(){
  					
  					var request = new XMLHttpRequest();
  					var method = "GET";
  					var url =this.href;
  					
  					request.open(method, url);
  					request.send(null);
  					request.onreadystatechange = function(){
  						if(request.readyState == 4) {
  							if(request.status == 200 || request.status == 304){
  								//1.结果为XML格式,所有需要使用responseXML来获取
  								var result = request.responseXML;
  								
  								//2、结果不能直接使用,必须去创建对应的节点,再把节点 加入到#details中
  					
  								//这里获取的name是files目录下的xml里的参数
  								var name = result.getElementsByTagName("name")[0].firstChild.nodeValue;
  								var website = result.getElementsByTagName("website")[0].firstChild.nodeValue;
  								var email = result.getElementsByTagName("email")[0].firstChild.nodeValue;

  								var aNode = document.createElement("a");
  								aNode.appendChild(document.createTextNode(name));
  								aNode.href = "mailto:" + email;
  								
  								var h2Node = document.createElement("h2");
  								h2Node.appendChild(aNode);
  								
  								var aNode2 = document.createElement("a");
  								aNode2.appendChild(document.createTextNode(website));
  								aNode2.href = website;
  								
  								var detailsNode = document.getElementById("details");
  								detailsNode.innerHTML = "";
  								detailsNode.applendChild(h2Node);
  								detailsNode.applendChild(aNode2);
  								
  							}
  							
  						}
  					}
  					return false;
  				}
  			}
  		}
  	</script>
</head>
<body>
  <h1>People</h1>
  <ul>
    <li>
      <a href="files/andy.xml">Andy</a>
    </li>
    <li>
      <a href="files/richard.xml">Richard</a>
    </li>
    <li>
      <a href="files/jeremy.xml">Jeremy</a>
    </li>
  </ul>
  <div id="details"></div>
</body>
</html>

2.用ajax

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>People at Clearleft</title>
    <style type="text/css">
        @import url("clearleft.css");
    </style>
    <script type="text/javascript" src="../scripts/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        $(function () {
            $("a").click(function () {
                var url = this.href ;
                var args = {"time": new Date()}; //加这个用除缓存

                // 将get 修改为post就是post方法
                //args: JSON格式
                //unction:回调函数,当响应结束时,回调函数被触发,响应结果在data中
                $.get(url,args,function (data) {
                    var name = $(data).find("name").text();
                    var email = $(data).find("email").text();
                    var website = $(data).find("website").text();

                    $("#details").empty()
                                 .append("<h2><a href='mailto:" + email+ "'>" +name+"</a></h2>")
                                 .append("<a href='"+website+"'>" +website+ "</a>");
                });
                return false;
            });
        });
    </script>
</head>
<body>
<h1>People</h1>
<ul>
    <li><a href="files/andy.xml">Andy</a></li>
    <li><a href="files/richard.xml">Richard</a>
    </li><li><a href="files/jeremy.xml">Jeremy</a></li>
</ul>
<div id="details"></div>
</body>
</html>

4.解析JSON,并用ajax实现
1.三个json文件分别为andy.js,jeremy.js,richard.js

{"person": {
  "name":"Andy Budd",
  "website":"http://andybudd.com/",
  "email":"andy@clearleft.com"
  }
}
另外两个类似

  <script type="text/javascript">
    window.onload = function(){
      var aNodes = document.getElementsByTagName("a");
      for(var i=0; i < aNodes.length; i++) {
        aNodes[i].onclick = function(){

          var request = new XMLHttpRequest();
          var method = "GET";
          var url =this.href;

          request.open(method, url);
          request.send(null);
          request.onreadystatechange = function(){
            if(request.readyState == 4) {
              if(request.status == 200 || request.status == 304){
                var result = request.responseText;
                var object = eval("(" + result+")");//!!!

                var name = object.person.name;
                var website = object.person.website;
                var email = object.person.eamil;

                var aNode = document.createElement("a");
                aNode.appendChild(document.createTextNode(name));
                aNode.href = "mailto:" + email;

                var h2Node = document.createElement("h2");
                h2Node.appendChild(aNode);

                var aNode2 = document.createElement("a");
                aNode2.appendChild(document.createTextNode(website));
                aNode2.href = website;

                var detailsNode = document.getElementById("details");
                detailsNode.innerHTML = "";
                detailsNode.applendChild(h2Node);
                detailsNode.applendChild(aNode2);
              }

            }
          }
          return false;
        }
      }
    }
  </script>
2.ajax
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>People at Clearleft</title>
  <style type="text/css">
  	@import url("clearleft.css");
  </style>
  <script type="text/javascript" src="../scripts/jquery-1.7.2.js"></script>
  <script type="text/javascript">
    $(function () {
      $("a").click(function () {
        var url = this.href ;
        var args = {"time": new Date()}; //加这个用除缓存

        // 将get 修改为post就是post方法
        //args: JSON格式
        //unction:回调函数,当响应结束时,回调函数被触发,响应结果在data中
        $.getJSON(url,args,function (data) {
          var name = data.person.name;
          var email = data.person.email;
          var website = data.person.website;

          $("#details").empty()
                  .append("<h2><a href='mailto:" + email+ "'>" +name+"</a></h2>")
                  .append("<a href='"+website+"'>" +website+ "</a>");
        });
        // 用get 代替上面的getJSON
/*        $.get(url,args,function (data) {
         var name = data.person.name;
         var email = data.person.email;
         var website = data.person.website;

         $("#details").empty()
         .append("<h2><a href='mailto:" + email+ "'>" +name+"</a></h2>")
         .append("<a href='"+website+"'>" +website+ "</a>");
         },"JSON");*/
        return false;
      });
    });
  </script>

</head>
<body>
  <h1>People</h1>
  <ul>
    <li>
      <a href="files/andy.js">Andy</a>
    </li>
    <li>
      <a href="files/richard.js">Richard</a>
    </li>
    <li>
      <a href="files/jeremy.js">Jeremy</a>
    </li>
  </ul>
  <div id="details"></div>
</body>
</html>

四、Ajax实验

4-1.实验一:验证用户名是否可用.

1.index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!-- 
1、导入jQuery库
2、获取name="username" 的节点:username
3、为username 添加change响应函数
3.1、 获取username 的value属性值, 去除前后空格且不为空, 准备发送Ajax请求
3.2、发送Ajax请求校验username是否可用
3.3、在服务端直接返回一个html 的片段 :<font color="red">该 用户名已经 被使用</font>
3.4、在客户端浏览器把其相接添加 到#message 的html 中
 -->

	<!-- 使用相对路径不怎么好,转发几次可能出错 -->
<!--    <script type="text/javascript" src="../scripts/jquery-1.7.2.js"></script>-->  
   <script type="text/javascript" src="${pageContext.request.contextPath}/scripts/jquery-1.7.2.js"></script>
 <script type="text/javascript">
   		$(function(){
   			$(":input[name='username']").change(function(){
   				var val = $(this).val();
   				val = $.trim(val); //去除前后空格
   				
   				if(val != "") {
   					var url = "${pageContext.request.contextPath}/validateUserName";
   					var args = {"userName":val, "time": new Date()};
   					
   					$.post(url, args, function(data){
   						$("#message").html(data);
   					});
   				}
   			});
   			
   		});
   
   </script>

</head>
<body>
	<form action="" method="post">
		UserName: <input type="text" name="username"/>
		<br>
		<div id="message"></div>
		<br>
		<input type="submit" value="Submit">
	</form>
</body>
</html>
2.servlet
@WebServlet("/validateUserName")
public class ValiateUserNameServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		List<String> userNames = Arrays.asList("AAA","BBB", "CCC");
		
		//  var args = {"":val, "time": new Date()};
		String userName = request.getParameter("userName");
		System.out.println(userName);
		String result = null;
		if(userNames.contains(userName)) {
			result = "<font color='red'>该 用户名已经 被使用</font>";
		}else {
			result = "<font color='green'>该 用户名可以 被使用</font>";
		}
		
		System.out.println(result);
		response.setContentType("text/html;charset=UTF-8");  //防止中文乱码
		response.setCharacterEncoding("UTF-8");
		response.getWriter().print(result);
	}

}





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值