黑马程序员_Dom中window的document属性

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

 

documentwindow对象的一个属性。一般直接写document

document的方法:

1.       write:向文档中写入内容。writeline,和write相比,最后添加一个回车。

      onclick等事件中写的代码会冲掉页面中的内容,只有在页面加载过程中write才会与原有内容融合在一起

<body>

大家好

<scripttype="text/javascript">

    document.write("<font color=red>红色</font>");      在页面中执行添加并显示。

 </script>

  <inputtype="button" value="你好 "onclick="document.write('hello')"/>         点击后将替换掉原来页面中的内容

  嘿嘿

</body>

write经常在广告代码、整合资源代码中被使用。这样不需要引用引用他的网站去进行维护,只要被引用网站内容进行了修改,使用它的也会跟着修改。

2.       getElementById(最常用),根据元素的id获得对象,并对元素进行操作。网页中的id不能重复。也可以直接通过元素的id来引用元素,但是有Form表单中控件等问题,所以不建议。

               function btnClick1() {

            //alert(txtbox2.value); //无法获得Form表单中的Id

            //alert(form1.txtbox2.value);  //虽然获得了表单中的Id,但是麻烦

            var txt = document.getElementById("txtbox2"); 

            alert(txt.value);

        }

3. getElementsByName(),根据元素的name获得对象,由于页面中的name可以重复,如radio,因此getElementsByName返回值是对象数组

<inputtype="radio" name="gender" value=""/>

<inputtype="radio" name="gender" value=""/>

<inputtype="radio" name="gender" value="保密"/>保密

获得name为gender的值:

function btnClick() {

            var radios = document.getElementsByName("gender");    //获得name为gender的元素数组

            /*for (var r in radios) {     //js中,for (var r in radios)不像C#中的foreach,并不会遍历每个元素,而是遍历的key

            alert(r.value);

            }*/

            for(var i=0;i<radios.length;i++){     //遍历这些元素,并弹出这些元素的值

                var radio=radios[i];

                alert(radio.value);

            }

4.getElementsByTagName,获取指定标签名称的元素数组。

获取所有input标签元素,为其赋值“hello”

         <inputtype="text" />

<inputtype="text" />

<inputtype="text" />

 

function btnClick2() {

            var inputs = document.getElementsByTagName("input");   //获取所有input标签

            for (var i = 0; i < inputs.length; i++) {

                var input = inputs[i];

                input.value = "hello";

            }

        }

Dom练习:

1.       点击一个按钮,被点击的按钮显示“呜呜”,其他按钮显示“哈哈”。

Html代码:

 <bodyonload="initEvent()"> <!—等网页加载完毕后才会执行 -->

<inputtype="button" value="哈哈 "/>

<inputtype="button" value="哈哈"/>

<inputtype="button" value="哈哈"/>

<inputtype="button" value="哈哈"/>

<inputtype="button" value="哈哈"/>

<inputtype="button" value="哈哈"/>

<inputtype="button" value="哈哈"/>

</body>

Js中的方法

//获取所有input元素

function initEvent() {

            var inputs = document.getElementsByTagName("input");

            for (var i = 0; i < inputs.length; i++) {

                var input = inputs[i];

                input.onclick = btnClick;             //每个input的onclick事件

            }

        }

//按钮点击时触发

        function btnClick() {

            var inputs = document.getElementsByTagName("input");       //获得所有input元素

            for (var i = 0; i < inputs.length; i++) {                       //遍历input元素

                var input = inputs[i];

//获得被点击了的input元素,将其value值改为“呜呜”,其余的为“哈哈”

                if (input == window.event.srcElement) {        //window.event.srcElement,取得引发事件的控件      

                    input.value = "呜呜";

                }

                else {

                    input.value = "哈哈";

                }

            }

        }

2.       美女时钟:每过一秒钟,显示一张不同的根据小时秒数定义的美女图片   (图片名 00_00.jpg

    <bodyonload="Refresh()">      //当页面加载完成后执行

     <imgid="imgMM" src="" />        //定义一个图片

</body>

 

<scripttype="text/javascript">

        //var now = new Date();         //不能写在这,否则取得的时间不变

        function Fill2Len(i) {              //判断分钟数和小时数是否是两位数,以和图片的名称一致

            if (i < 10) {

                return "0" + i;

            }

            else {

                return i;

            }

        }

        function Refresh() {

            var imgMM = document.getElementById("imgMM");     //获得放置图片的元素

            if (!imgMM) {                                                                           //判断是否已经加载了该元素

                return;

            }

            var now = new Date();                                                           //获取当前时间

            //获得与当前时间对应的图片的名称

          var filename = Fill2Len(now.getHours()) +"_" + Fill2Len(now.getSeconds()) + ".jpg";            

          imgMM.src = "img/" + filename;                                           //对图片元素赋值,显示图片

        }

        setInterval("Refresh()",1000);                                                 //由于时钟每隔一秒转动一次,所以每隔一秒换一张图片,即每隔1秒执行一次对图片元素的赋值

    </script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值