JQueryjquery极简教程Java开发知识点

JQuery入门

2017-05-03  本文已影响65人  奋斗的老王

零) js / ajax / json / jQuery

一) JSON 简介

var p = {
            id:1,
            name:"哈哈",
            tel:[
                    {
                        no:"135",
                        type:"中移动"
                    },
                    {
                        no:"133",
                        type:"中联通"
                    }
                ],
            show:function(username){
                alert("你的姓名是:" + p.name+":"+username);
            },
            isSingle:false          
        };
var p = {'city':['北京','上海','广州','深圳']};
for(var i=0;i<p.city.length;i++){
    document.write(p.city[i]+"<br/>");
}
/**
     * 根据省份查询城市
     */
    public String findCityByProvinceMethod() throws Exception{
        cityList = new ArrayList<String>();
        if("湖北".equals(province)){
            cityList.add("武汉");
            cityList.add("黄岗");
        }else if("湖南".equals(province)){
            cityList.add("岳阳");
            cityList.add("张家界");
        }else if("广东".equals(province)){
            cityList.add("韶关");
            cityList.add("东莞");
        }
        return "ok";
    }
    /**
     * 根据城市查询区域
     */
    public String findAreaByCityMethod() throws Exception{
        areaList = new ArrayList<String>();
        if("武汉".equals(city)){
            areaList.add("AA");
            areaList.add("BB");
        }else if("黄岗".equals(city)){
            areaList.add("CC");
            areaList.add("DD");
        }else if("岳阳".equals(city)){
            areaList.add("EE");
            areaList.add("FF");
        }else if("张家界".equals(city)){
            areaList.add("GG");
            areaList.add("HH");
        }else if("韶关".equals(city)){
            areaList.add("II");
            areaList.add("JJ");
        }else if("东莞".equals(city)){
            areaList.add("KK");
            areaList.add("LL");
        }
        return "ok";
    }
private List<String> cityList;
    private List<String> areaList;
    public List<String> getCityList() {
        return cityList;
    }
    public List<String> getAreaList() {
        return areaList;
    }
- struts.xml
   <package name="provinceCityAreaPackage" extends="json-default" namespace="/">
        <action 
            name="findCityByProvinceRequest" 
            class="cn.itcast.javaee.js.provincecityarea.ProvinceCityAreaAction" 
            method="findCityByProvinceMethod">
            <result name="ok" type="json">
            </result>
        </action>
   </package>
- 导入:`` struts2-json-plugin-2.3.1.1.jar ``

二) 使用第三方工具,将JavaBean对象/List或Set或Map对象转成JSON

三) 总结JSON的特点

四) 模拟jQuery库,体验使用第三方实用库的特点【图片隐藏与显示】

 //定义一个Photo函数,看作是一个类
function Photo(){
    //属性
    var imgElement = document.images[0];
    //方法
    this.show = function(){
        imgElement.style.visibility = "visible";
    }
    this.hide = function(){
        imgElement.style.visibility = "hidden";
    }
}
//定义一个$()函数,用来定位标签
function $(str){
    //如果str变量是字符串类型
    if( typeof(str) == "string" ){
        //获取str变量中的第一个字符
        var init = str.substring(0,1);
        //如果第一个字符是#的话
        if("#" == init){
            //获取str变量中除第一个字符外的其它字符
            var other = str.substring(1,str.length);
            //通过ID定位节点
            var element = document.getElementById(other);
            //如果找到了节点
            if(element != null){
                //返回
                return element;
            }else{
                //返回
                return null;
            }
        }else{
            //继续判断
        }
    }else{
        alert("参数必须为string类型");
    }   
}
<script type="text/javascript">
        //创建一个Photo对象
        var p = new Photo();
        //定位隐藏按钮,同时添加单击事件
        $("#hide").onclick = function(){
            //调用Photo对象的方法
            p.hide();
        }
        //定位显示按钮,同时添加单击事件
        $("#show").onclick = function(){
            //调用Photo对象的方法
            p.show();
        }
</script>

五) jQuery简介

//var divElement = document.getElementById("divID");
var $div = $("#divID");
//var html = divElement.innerHTML;
var html = $div.html();
alert(html);

六) js对象和jQuery对象相互转换

var inputElement = document.getElementById("inputID");//js对象 
var $input = $(inputElement);//jquery对象
var txt = $input.val();
alert(txt);
var $div = $("#divID");//jquery对象
var divElement = $div[0];//js对象(方式一)
//var divElement = $div.get(0);//js对象(方式二)
var txt = divElement.innerHTML;       
alert(txt);

七) js对象和jQuery对象的区别

八) jQuery九类选择器(上)【参见jQueryAPI.chm手册】

    //1)查找ID为"div1ID"的元素个数
        alert( $("#div1ID").size() );
        
    //2)查找DIV元素的个数
        alert( $("div").size() );
        
    //3)查找所有样式是"myClass"的元素的个数
        alert( $(".myClass").size() );
    
    //4)查找所有DIV,SPAN,P元素的个数
        alert( $("div,span,p").size() );
        
    //5)查找所有ID为div1ID,CLASS为myClass,P元素的个数
        alert( $('#div1ID,.myClass,p').size() );
        //1)找到表单form里所有的input元素的个数
            alert( $("form input").size() );
        
        //2)找到表单form里所有的子级input元素个数
            alert( $("form > input").size() );
        
        //3)找到表单form同级第一个input元素的value属性值
            alert( $("form + input").val() );
        
        //4)找到所有与表单form同级的input元素个数
            alert( $("form ~ input").size() );
        //1)查找UL中第一个元素的内容
            alert( $("ul li:first").text() );

        //2)查找UL中最后个元素的内容
            alert( $("ul li:last").text() );

        //4)查找表格的索引号为1、3、5...奇数行个数,索引号从0开始
            alert( $("table tr:odd").size() );

        //5)查找表格的索引号为2、4、6...偶数行个数,索引号从0开始
            alert( $("table tr:even").size() );

        //6)查找表格中第二行的内容,从索引号0开始,这是一种祖先 后代 的变化形式
            alert( $("table tr td:eq(1)").text() );

        //7)查找表格中第二第三行的个数,即索引值是1和2,也就是比0大
            alert( $("table tr:gt(0)").size() );

        //8)查找表格中第一第二行的个数,即索引值是0和1,也就是比2小
            alert( $("table tr:lt(2)").size() );

        //9)给页面内所有标题<h1><h2><h3>加上红色背景色,且文字加蓝色
            $(":header").css("background-color","red").css("color","blue");
            
        //3)查找所有未选中的input为checkbox的元素个数
            alert( $(":checkbox:NOT(:checked)").size() );
        //1)查找所有包含文本"John"的div元素的个数
            alert( $("div:contains('John')").size() );
            
        //2)查找所有p元素为空的元素个数
            alert( $("p:empty").size() );
        
        //3)给所有包含p元素的div元素添加一个myClass样式
            $("div:has(p)").addClass("myClass");
        
        //4)查找所有含有子元素或者文本的p元素个数,即p为父元素
            alert( $("p:parent").size() );

九) jQuery中常用方法(上)

注意:在写jQuery代码时,不光可以使用jQuery的API,还能使用传统JS的API

上一篇下一篇

猜你喜欢

热点阅读