0%

innerHTML属性可读可写,所以我们可以用这个属性动态修改显示的HTML,下面的例子,是页面载入时弹出对话框显示body标签内的内容,然后在javascript中修改这段内容成一个链接。

        无标题文档
        
            function check(){
                var a=document.getElementsByTagName("body")[0];
                alert(a.innerHTML);
                a.innerHTML="<a href='http://www.pocketdigi.com' target='_blank'>Android学习笔记</a>";
            }
        
    
    
        第一行

下面的例子运行会显示两行,第二行左间距为20像素,颜色为红色

        无标题文档
        
            function check(){
                var a = document.createElement("p");//创建一个元素
                var b = document.createTextNode("第二行");//创建文本节点
                a.appendChild(b);//绑定
                a.style.color="#FF0000";//元素的style可以设置CSS
                a.style.marginLeft="20px";
                document.body.appendChild(a);//绑定到body上
            }
        
    
    
        第一行

直接看源代码吧,不算难

        无标题文档
        
            function check() {
                var string="";
                                                   var a = document.getElementById("cid");//通过ID得到元素,这里就是二个UL的第一行
                var b=a.parentNode;//得到父节点,这里是第二个ul
                var c=b.parentNode;//ul的父节点,这里是body
                var d=c.childNodes[0];//body的第一个子节点,这里是第一个ul
                var e=d.childNodes[1];//第一个UL的第二个子节点,这里是第一个li,因为"第一个UL"也算一个节点		
                alert(e.childNodes[0].nodeValue);//输出e的第一个节点值,这里就是一
            }
        
    
    
        第一个UL
            一
            二
            三
        
        第二个UL
            四
            五
            六

具体对表单数据合法性的验证,这里就不提了,参考 Javascript 获取页面元素属性的两种方法,结合字符串,Math对象函数。 这里主要讲在提交表单时执行javascript的方法。 方法如下:给表单的加上onsubmit属性或者提交按钮的加上onclick属性,值为return check(),check是javascript函数,验证表单用的,没有return,即使验证失败也会提交。在check函数中,验证失败返回false,成功返回true. 代码:

        无标题文档
    
    
        
            姓名:
            年龄:
                        
            
        
        
                function check(){
                    var age=parseInt(document.form1.age.value);
                    if(age<18){
                        alert("小于18");
                        return false;
                    }else{
                        return true;
                    }
                }

获取页面元素,主要用于表单,以及ajax动态更新页面等

        无标题文档
    
    
        
            姓名:
        年龄:
            
        
        
                function check(){
                    var name=document.getElementById("name").value;
                    //document.getElementById(元素ID).属性
                    var age=document.form1.age.value;
                    //document.表单名.元素名.属性,元素必须在表单内才能得到
                    alert(name);
                    alert(age);
                }

Math函数主要用于数字的处理

var a=6.448;
var b=9;
document.write("进一取整:"+Math.ceil(a)+"");
document.write("去尾取整:"+Math.floor(a)+"");
document.write("四舍五入取整:"+Math.round(a)+"");
document.write("返回最小值:"+Math.min(a,b)+"");
document.write("返回最大值:"+Math.max(a,b)+"");
document.write("求幂,a的b次方:"+Math.pow(a,b)+"");
document.write("生成0-1之间的随机数:"+Math.random()+"");
document.write("开平方:"+Math.sqrt(b)+"");

var a = "abcDEfGgdefg32asdf38";
document.write("原始:"+a+"")
document.write("粗体:"+a.bold()+"");
document.write("大号:"+a.big()+"");
document.write("斜体:"+a.italics()+"");
document.write("删除线:"+a.strike()+"");
document.write("字体大小:"+a.fontsize(10)+"");
document.write("字体颜色:"+a.fontcolor("#ff0000")+"");
document.write("上标:"+a.sup()+"");
document.write("下标:"+a.sub()+"");
document.write("大写:"+a.toUpperCase()+"");
document.write("大写:"+a.toLowerCase()+"");
document.write("返回索引字符:"+a.charAt(3)+"");//这里应该是"D"
document.write("返回索引:"+a.indexOf("f")+"");//这里应该是5
document.write("返回索引(逆向查找):"+a.lastIndexOf("f")+"");//这里应该是9
document.write("查找字符串:"+a.search("f")+"");//这里应该是5,与indexOf相同
document.write("替换字符串:"+a.replace("a","A")+"");//把字符串中的a替换成A
document.write("返回子串:"+a.slice(1,3)+"");//应该是bc,返回从索引1到3-1的子串
document.write("分割字符串:"+a.split("D").toString()+"");//把D作为分割符,分割字符串,返回数组
document.write("返回子串:"+a.substr(1,2)+"");//返回子串,从索引1开始,长度为2,这里就是bc
document.write("返回子串:"+a.substring(1,3)+"");//与sclice()相同,返回索引1到3-1的子串
document.write("匹配:"+a.match(/\d+/)+"");//正则匹配,返回匹配的结果,这里是32

在Javascript中,数组用法基本与Java类似

            var a = new Array("a", "b", "c");//定义数组
            for (i = 0; i < a.length; i++) {//循环读取
                document.write(i + ":" + a[i] + "");
            }
            document.write("toString():" + a.toString() + "");//toString(),以字符串表示数组
            document.write("join():" + a.join("") + "");//join(),以join后的字符串参数作为间隔符,生成一个字符串,如果是参数是半角逗号,则效果与toString()相同
            document.write("reverse():" + a.reverse().toString() + "");//reverse().把数组内元素倒序生成新的数组
            document.write("valueOf():" + a.valueOf() + "");//valueOf(),输出数组的值 
            //二维数组
            var b = new Array(3);//定义长度为3的数组
            b[0] = new Array("a", 1);
            b[1] = new Array("b", 2);
            b[2] = new Array("c", 3);
            for (i = 0; i < b.length; i++) {//循环输出每一维的每个元素
                for (j = 0; j < b[i].length; j++) {
                    document.write("b[" + i + "][" + j + "]:" + b[i][j] + "");
                }
            }

因为做服务端后台需要用到Ajax,从今天开始,学习Javascript,Ajax。做一个SOHO不容易啊,Android SDK,Java,PHP,Mysql,Nginx,Linux,Javascript,Ajax,Html,Css,Photoshop……样样都得会点。下面是Javascript中Date对象的用法。

var d=new Date(2008,11,21,12,20,30,502);//年月日时分秒毫秒,需要注意的是月份是0-11,参数留空为当前系统时间
document.write("年"+d.getYear()+"");
document.write("月"+(d.getMonth()+1)+"");//getMonth返回的是0-11的月份,所以加1
document.write("日"+d.getDate()+"");
document.write("周"+d.getDay()+"");//从0-6,即周日到周六
document.write("时"+d.getHours()+"");//0-23时
document.write("分"+d.getMinutes()+"");//0-59分
document.write("秒"+d.getSeconds()+"");//0-59秒
document.write("毫秒"+d.getMilliseconds()+"");//0-999毫秒
document.write("对应毫秒"+d.getTime()+"");//从1970年1月1日00:00:00开始,对应的毫秒数
document.write("UTC:"+d.toUTCString()+"");//UTC时间
document.write("GMT:"+d.toGMTString()+"");//UTC时间
d.setTime(new Date());//设置时间为当前系统时间
document.write("UTC:"+d.toUTCString()+"");//UTC时间