JavaScript常用文档对象

189 阅读7分钟

一、Document对象

文档对象,代表浏览器窗口中的文档,是window的子对象:通过文档对象可以访问HTML文档中包含的任何HTML标记,并可以动态的改变HTML标记中的内容,例如:表单、图像、表格和超链接等;

1、文档对象的常用属性、方法和事件

Document对象常用属性

  • alinkColor   链接文字被单击时的颜色,对应于<body>标记中的alink属性;
  • all[]             存储HTML标记的一个数组;
  • anchors[]   存储锚点的一个数组,
  • bgcolor   文档的背景颜色
  • cookie  表示cookie的值
  • fgColor  表示文档的文本颜色
  • forms[] 存储窗体对象的一个数组。;
  • filecreatedDate 创建文档的日期
  • fileModifiedDate 文档最后修改的日期
  • fileSize  当前文件的大小
  • lastModified  文档最后修改的时间
  • images[]          存储图像对象的一个数组
  • linkColor           未被访问的链接文字的颜色
  • links[]    存储link对象的一个数组
  • vlinkColor   表示已访问的链接文字的颜色
  • title  当前文档标题对象
  • body 当前文档主体对象
  • readyState  获取某个对象的当前状态
  • URL    获取或者设置URL

Document对象常用方法

  • close 关闭文档的输出流
  • open 打开一个文档输出流并且接受write和writeln方法的创建页面内容;
  • write 向文档中写入HTML和JavaScript语句
  • writeln 向文档中写入HTML和JavaScript语句,并以换行符结束
  • createElement  创建一个html标记
  • getElementById  获取指定id的HTML标记

Document对象常用事件

  • onabort  对象载入被中断时触发
  • onblur 元素或者窗口本身失去焦点时触发
  • onchange 改变<select>元素中的选项或者其他表单元素失去焦点,并且在其获取焦点后的内容发生过改变时触发
  • onclick  单击鼠标左键时触发。当光标的焦点在按钮上,并按下回车键时,也会触发该事件
  • ondblclick  双击鼠标左键时触发
  • onerror  出现错误时触发
  • onfocus  任何元素或者窗口本身获得焦点时触发
  • onkeydown  键盘被按下时触发
  • onkeypress 键盘上的按键被按下,并产生一个字符时发生。
  • onkeyup   释放键盘上的按键时触发
  • onload 页面完全载入后,在window对象上触发,所有框架都载入后,在框架集上触发;
  • onmousedown   单击任何一个鼠标按键时触发
  • onmouseup     释放任何一个鼠标按键时触发
  • onmousemove  鼠标在某个元素上移动时持续触发
  • onmouseout 将鼠标从指定元素上移开时触发
  • onmouseover  鼠标移到某个元素上时触发
  • onreset   单击重置按钮时,在form上触发
  • onresize  窗口或者框架的大小发生改变时触发
  • onscroll  在任何带滚动条的元素或者窗口上滚动时触发
  • onselect  选中文本时触发
  • onsubmit  单击提交按钮时,在form 上触发
  • onunload  页面完全卸载后,在window对象上触发,或者所有框架都卸载后,在框架集上触发。

2、Document对象的应用

1、链接文字颜色设置

alinkColor  获取或设置连接被单击时的颜色

linkColor  未单击的链接的颜色

vlinkColor  单击过的链接的颜色

<a href="#">why you don not hard work!</a>
    <script>
        document.vlinkColor = "red";
        document.linkColor = "aqua";
        document.alinkColor = "green";
    </script>

2、文档背景色和前景色的设置

(1)bgColor

(2)fgColor

<body>
    <!-- 每间隔1s,变换一种颜色 -->
    背景自动变色
    <script>
        var Arraycolor = new Array("#00ff66","#ffff99","#9cf","#fcf","#fc9","#0ff");
        var n =0;
        function changecolors(){
            n++;
            if(n == (Arraycolor.length-1)) n = 0;
            document.bgColor = Arraycolor[n];
            document.fgColor = Arraycolor[n-1];
            setTimeout("changecolors()", 1000);
        }
        changecolors();
    </script>

3、获取并设置URL;

<script>
       document.write("<b>当前页面的URL:&nbsp;</b>"+document.URL);
   </script>

4、在文档中输出数据

(1)write方法

document.write();

(2) writeln()

与write相同,唯一区别在于writeln方法在所输出的内容后,添加了一个回车换行符;

5、动态添加一个html标记

creatElement()根据一个指定的类型来创建一个html标记

 <script>
      function addInput(){
          var txt = document.createElement("input");
          txt.type = "text";
          txt.name = "txt";
          txt.value = "动态添加的文本框";
          document.form1.appendChild(txt);
      }
   </script>
   <form name="form1">
       <input type="button" name="btn1" value="动态添加文本框" onclick="addInput();" />
   </form>

6、获取文本框并修改其内容

getElementById()方法可以通过指定id来获取html标记,并将其返回;

<script>
      function chg(){
          var t = document.getElementById("txt");
          t.value = "修改文本内容!";
      }
   </script>
   <input type="text" id="txt" value="初始文本内容" />
   <input type="button" value="更改文本内容" name="btn" onclick="chg();" />

3、js中的cookie设置

1、cookie写入和读取

(1)写入

存储格式:name1= value1;name2 = value2;name3 = value3...

写入:

var cookiename = "name5";
      var cookievalue = "value5";
      var totalcookie = cookiename+"="+cookievalue;
      document.cookie = totalcookie;

设置cookie过期时间

var date = new Date();
      date.setDate(date.getDate()+7);
      document.cookie = encodeURI("test=value")+";expires="+date.toUTCString();

(2)cookie的读取

生成cookie数组:

var cookieString = decodeURI(document.cookie);
      var cookieArray = cookieString.split(";");

获取cookie的名称和值

for(var i = 0;i<cookieArray.length;i++){
          var cookieNum = cookieArray[i].split("=");
          var cookieName = cookieNum[0];
          var cookieValue = cookieNum[1];
      }

二、表单对象

1、访问表单与表单元素

(1)js访问表单;

<form id="form1" name="myform" method="post" action="">
       用户名:<input type="text" name="username" size="15"><br>
       密码:<input type="password" name="password" maxlength=8 size=15><br>
       <input type="submit" name="sub1" value="登录" />
   </form>

三种访问方式:

document.forms[0];

document.myform;

document.getElementById("form1")

(2)访问表单元素

三种访问方式:

document.form1.elements[0];

document.form1.password;

document.getElementById("user")

2、表单对象的常用属性、方法与事件

(1)表单对象的常用属性

  • name  返回或设置表单的名称
  • action  返回或设置表单的URL
  • method  返回或设置表单提交的方式,可取值为get或post
  • encoding 返回或设置表单信息提交的编码方式;
  • id           返回或设置表单的id
  • length   返回表单对象中元素的个数
  • target   返回或设置提交表单时目标窗口的打开方式
  • elements 返回表单对象中元素的构成的数组,数组中的元素也是对象。

(2)表单对象的方法

  • reset()    将所有表单元素重置为初始值;相当于单击了重置按钮;
  • submit()  提交表单数据,相当于单击了提交按钮。

(3)表单对象的事件

reset    重置表单时触发的事件

submit  提交表单时触发的事件

3、表单对象的应用

1、验证表单内容是否为空

在提交表单前进行表单验证,可以节约服务器的处理器周期,为用户节省等待时间。

<body>
   <script>
      function checkinput(){
        if(form1.name.value==""){    //判断用户是否为空
            alert("请输入用户名!");
            form1.name.select();
            return false;
        } 
         if(form1.pwd.value==""){    //判断用户是否为空
             alert("请输入用户名!");
             form1.pwd.select();
             return false;
         } 
         return true;
      }
   </script>
   <input type="image" name="imageField" onclick="return Checkinput();" src="img/me.jpg"/>
   <input type="image" name="imageField2" onclick="form.reset();return false;" src="img/prpject.jpg" />
</body>

2、获取表单元素的值

当用户提交表单时,程序需要获取表单内容,并对表单内容进行验证或者存储。

三、图像对象

1、图片对象属性

  • border   表示图片边界宽度,以像素为单位
  • height   表示图像的高度
  • hspace  图像与左边和右边的水平空间大小,以像素为单位。
  • lowsrc  低分辨率显示候补图像的URL
  • name 图片名称
  • src 图像URL
  • vspace 上下边界垂直空间的大小;
  • width   图片的宽度
  • alt  鼠标经过图片时显示的文字。

2、图片对象的应用

1、图片的随机显示

<script>
        var test =[
            ['校长','王三'],
            ['院长','李四'],
            ['社长','时刻'],
        ];
        var n = Math.floor(Math.random()*test.length);
        var img = document.getElementById('imgs');
        img.src = test[n][0]+'.gif';
        img.alt = test[n][1];
    </script>

使用test[n][0]语句可以获取图片的名称;使用test[n][1]语句可以获取图片的提示信息。

function changebg(){
            var i = Math.floor(Math.random()*5);  ///取整并*5;
            var src = "";
            switch(i){
                case 0:
                    src = "me.jpg";
                    break;
                case 1:
                    src = "prpject.jpg"
                    break;
            }
            document.body.background = src;
            setTimeout("changebg()",1000);
        }