dom例子

 //凡是html标签中的属性和值是一样的,那么在js中用true或者false

1,阅读协议倒计时

<input type="button" name="name" value="请仔细阅读协议(5)" disabled="disabled" id="btn" />

<script type="text/javascript">
        window.onload = function () {
            var btnObj = document.getElementById(‘btn‘);
            var sec = 5;
            var setId = setInterval(function () {
                sec = sec - 1;
                if (sec <= 0) {

                    btnObj.value = ‘同意‘;
                    clearInterval(setId); //清除计时器
                    btnObj.disabled = false;
                } else {
                    btnObj.value = ‘请仔细阅读协议(‘ + sec + ‘)‘;
                }
            }, 1000);
        };

2,事件冒泡

window.event.cancelBubble = true; //阻止事件冒泡.

    <script type="text/javascript">

        //冒泡排序,--元素中有元素(元素的嵌套如果触发了里面元素的事件,那么外面元素的事件也会被触发)(事件是相同的事件)

        //阻止事件冒泡
        window.onload = function () {

            document.getElementById(‘dv‘).onclick = function () {

                alert(this.id);
                //alert(window.event.srcElement.id);//事件源的id
            };
            document.getElementById(‘p1‘).onclick = function () {

                alert(this.id);
            };
            document.getElementById(‘sp‘).onclick = function () {

                alert(this.id);
                window.event.cancelBubble = true; //阻止事件冒泡.
                //return false;//没有阻止事件冒泡
            };
        };

    </script>

3,dom动态创建元素

 <script type="text/javascript">

        window.onload = function () {

            //获取按钮添加点击事件
            document.getElementById(‘btn‘).onclick = function () {

                //创建一个层的对象
                var dvObj = document.createElement(‘div‘);

                dvObj.style.width = ‘300px‘;
                dvObj.style.height = ‘200px‘;
                dvObj.style.backgroundColor = ‘yellow‘;

                //把层添加到body中
                document.body.appendChild(dvObj);

            };
        };
    </script>

4,将创建的元素添加到现有元素中

var i = 0;
document.getElementById(‘btnc‘).onclick = function () {
i++;
//创建一个input标签
var inputObj = document.createElement(‘input‘);
inputObj.type = ‘button‘;
inputObj.value = ‘我骄傲‘ + i;
//document.getElementById(‘dv‘).appendChild(inputObj);
document.getElementById(‘dv‘).insertBefore(inputObj, document.getElementById(‘dv‘).firstChild);
};

5,简单无刷新评论

  <table border="1" id="tb">
        <tr>
            <td>猫猫
            </td>
            <td>
            我好困
            </td>
        </tr>
    </table>
   昵称: <input type="text" name="name" value="" id="txt" />
   <br />
    <textarea rows="10" clos="10" id="txtContent"></textarea>
    <br />
    <input type="button" name="name" value="提交" id="btn" />

 <script type="text/javascript">

        window.onload = function () {

            document.getElementById(‘btn‘).onclick = function () {

                //获取昵称
                var name = document.getElementById(‘txt‘).value;

                //获取内容
                var txtCt = document.getElementById(‘txtContent‘).value;
                //获取页面的表格
                var tbObj = document.getElementById(‘tb‘);
                //创建行
                var trObj = document.createElement(‘tr‘);
                //创建单元格
                var td1 = document.createElement(‘td‘);
                var td2 = document.createElement(‘td‘);
                td1.innerText = name;
                td2.innerText = txtCt;
                //把单元格添加到行中
                trObj.appendChild(td1);
                trObj.appendChild(td2);
                //行添加到表中
                tbObj.appendChild(trObj);

            };
        };

    </script>

6,创建表格方式

   <script type="text/javascript">
        window.onload = function () {

            document.getElementById(‘btn‘).onclick = function () {

                var tb = document.createElement(‘table‘);
                var dic = { "百度": "http://www.baidu.com", "传智播客": "http://www.itcast.cn", "谷歌": "http://www.google.com" };

                for (var key in dic) {
                    //创建行,根据表创建行
                    var trObj = tb.insertRow(-1);
                    //创建单元格,根据行创建单元格

                    var td1 = trObj.insertCell(-1);
                    td1.innerText = key;
                    //创建单元格
                    var td2 = trObj.insertCell(-1);
                    td2.innerHTML = ‘<a href="‘ + dic[key] + ‘">‘ + key + ‘</a>‘;

                }
                //表格添加到body中
                document.body.appendChild(tb);

            };
        };

    </script>

7,为元素添加样式

   <script type="text/javascript">
        window.onload = function () {

            document.getElementById(‘btn‘).onclick = function () {
                document.getElementById(‘dv‘).className = ‘cls‘;

            };
        };

    </script>

8,文本框焦点事件(onfocus与onblur)

  //创建三个输入文本框,当光标离开文本框的时候如果文本框为空,则将文本框背景色设置为红色,如果不为空则为白色。提示:焦点进入控件的事件是onfocus,焦点离开控件的事件是onblur。
window.onload=function(){
 //获取所有的文本框
            var txts = document.getElementsByTagName(‘input‘);
            for (var i = 0; i < txts.length; i++) {
                txts[i].onblur = function () {
                    if (this.value.length == 0) {
                        this.style.backgroundColor = ‘red‘;
                    }
                    else {
                        this.style.backgroundColor = ‘‘;//恢复默认颜色
                    }
                }; //注册失去焦点事件
            }
};

9,★☆评分控件

    <script type="text/javascript">

        window.onload = function () {

            var tds = document.getElementById(‘tb‘).getElementsByTagName(‘td‘);

            for (var i = 0; i < tds.length; i++) {
                tds[i].onmouseover = function () {//注册一个鼠标进入的事件
                    for (var j = 0; j < tds.length; j++) {
                        //this.innerText = ‘★‘;
                        tds[j].innerText = ‘★‘;
                        if (tds[j] == this) {
                            break;
                        }

                    }
                };
                tds[i].onmouseout = function () {

                    for (var i = 0; i < tds.length; i++) {
                        tds[i].innerText = ‘☆‘;
                    }
                };
            }
        };

    </script>

10,点击按钮,表格隔行变色

 <script type="text/javascript">
        //点击按钮,表格隔行变色:偶数行为黄色背景,奇数行为默认颜色。通过table的getElementsByTagName取得所有的tr,依次遍历,如果是偶数就…………。
        window.onload = function () {

            document.getElementById(‘btn‘).onclick = function () {
                var trs = document.getElementById(‘tb‘).getElementsByTagName(‘tr‘);
                for (var i = 0; i < trs.length; i++) {
                    if (i % 2 != 0) {
                        trs[i].style.backgroundColor = ‘yellow‘;
                    } else {
                        trs[i].style.backgroundColor = ‘‘;
                    }
                }
            };
        };

    </script>

11,鼠标放到超链接上,显示图片(层)

    <script  type="text/javascript">
        window.onload = function () {
            //获取超链接, //为超链接注册一个事件--鼠标进入事件
            document.getElementById(‘ak‘).onmouseover = function () {
                if (!document.getElementById(‘imxy‘)) {
                    //创建一个图片
                    var im = document.createElement(‘img‘);
                    im.id = ‘imxy‘;
                    im.src = ‘xy.JPG‘;
                    //图片要脱离文档流
                    im.style.position = ‘absolute‘;
                    //超链接距离左边距离
                    var x = this.offsetLeft + ‘px‘;
                    //超链接距离上面加上超链接高度距离
                    var y = this.offsetTop + this.offsetHeight + ‘px‘;
                    //图片添加到body中
                    document.body.appendChild(im);
                }
            };
            //鼠标离开
            document.getElementById(‘ak‘).onmouseout = function () {
                if (document.getElementById(‘imxy‘)) {
                    document.body.removeChild(document.getElementById(‘imxy‘));
                }
            };
        }
    </script>

12,让图片跟随图片

    <script type="text/javascript">

        window.onload = function () {

            document.onmousemove = function () {

                // alert(‘让你动‘);

                var imObj = document.getElementById(‘im‘);
                imObj.style.position = ‘absolute‘;
                imObj.style.left = window.event.clientX + ‘px‘;
                imObj.style.top = window.event.clientY + ‘px‘;
                //给鼠标加样式
                document.body.style.cursor = ‘url(dinosau2.ani)‘;

            };
        };

    </script>

13,正则表达式

 var msg = ‘中国移动:10086,中国联通:10010,中国电信:10000‘;
 var reg=/\d+/g;//全局
var result;
while ((result = reg.exec(msg)) != null) {
     alert(result);
}

14,js匹配邮箱

document.getElementById(‘txt‘).onblur = function () {

                var email = this.value; //获取邮箱
                var regObj = /^\[email protected]\w+\.+\w+$/;
              alert( regObj.test(email)?‘是邮箱‘:‘不是邮箱‘);
            };

15,电话号码指定位置换星号

<script type="text/javascript">

        var msg = ‘杨小舅:13888888888张三:13999999999小李子:13111111111‘;

        // /\d{3}\d{4}\d{4}/;
    var result= msg.replace(/(\d{3})(\d{4})(\d{4})/g,‘$1****$3‘);
    alert(result);
    </script>

16,切除字符串两端空格

<script type="text/javascript">

        var msg = ‘    天气还可以    ‘;
        function trimString(txt) {
        //先切左边再切右边-(query中1.8.3文件中是前面的方式)---可以左边右边一起切
           return txt.replace(/^\s+/,‘‘).replace(/\s+$/,‘‘);
       }

时间: 2024-10-07 00:25:32

dom例子的相关文章

AngularJS指令参数详解

指令,很重要 AngularJS与jQuery最大的区别在哪里?我认为,表现在数据双向绑定,实质就是DOM的操作形式不一样. jquery通过选择器找到DOM元素,再赋予元素的行为: 而angularjs则是,将指令与DOM绑定在一起,再扩展指令的行为. 所以AngularJS开发最理想的结果就是,在页面HTML与CSS的设计时,设计工程师只需要关注指令的使用:而在背后的逻辑开发上,架构工程师则是不需要知道如何操作DOM,只需要关注指令背后的行为要如何实现就行:测试工程师也可以开发针对指令的单元

自学XML DOM的几个例子

XML DOM定义了如何获取.修改.添加和删除XML文件中结点的接口,极大方便了开发者对XML文件的使用.XML DOM教程和手册请转:http://www.w3school.com.cn/xmldom/dom_cdatasection.asp. 例子:利用XML DOM将XML中目标内容提取出来现在在html文件指定元素当中. ex1.html文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &

java Dom小例子

仅仅是为了总结与学习. XML文件在我们的开发项目中经常使用,下面写了DOM解析的小例子. DomTestFile.xml文件如下: <?xml version="1.0" encoding="utf-8"?> <MenuContainer> <menu order="1.0" menuname="测试1" description="描述1"> <menu orde

dom操作例子

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="Scripts/jquery-1

XML的DOM、SAX、DEMO4J及DEMO4J整合Path的代码例子

1.DMO解析 package cn.itcast.xml.dom; import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.No

js DOM节点的创建、插入、删除、查找、替换例子

五.动态创建标记 (1)传统的技术: a)Document.write:可以方便快捷的把字符串插入到文档里.如图(3) 而这种方法的缺点是,行为与表现分开,有点类似于使用<font>标签去设定字体和颜色,工作起来不够优雅.尽量少用. b)innerHTML:几乎所有浏览器都支持,可以用来读取,或者设置给定的元素里的HTML内容.把一大段HTML内容插入到网页时,innerHTML很适合,但是innerHTML属性不会返回任何刚插入内容的引用.如果想对刚插入的内容进行处理,则需要使用DOM提供的

DOM节点例子

elementNode.setAttribute(name,value) 1.name: 要设置的属性名. 2.value: 要设置的属性值. elementNode.getAttribute(name) 1. elementNode:使用getElementById().getElementsByTagName()等方法,获取到的元素节点. 2. name:要想查询的元素节点的属性名字 元素节点:构成了DOM的基础.文档结构中,<html>是根元素,代表整个文档,其他的还有<head&

关于DOM事件的一个例子

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>event</title> <style> .target { float: left; width: 100px; height: 100px; background: #359; } .outer-div { display: none; float: left; width: 1

通过简单搜索例子复习DOM元素相关操作

HTML: <div id="box"> <input type="text" id="search" value=""> <input type="button" id="btn" value="搜索"> </div> CSS: /*使水平居中*/ body{ position:relative; } #box{ po