JavaScript学习篇之DOM第一篇

Dom介绍

MDN网站给出的介绍:
文档对象模型 (DOM) 将 web 页面与到脚本或编程语言连接起来。通常是指 JavaScript,但将 HTML、SVG 或 XML 文档建模为对象并不是 JavaScript 语言的一部分。DOM模型用一个逻辑树来表示一个文档,树的每个分支的终点都是一个节点(node),每个节点都包含着对象(objects)。DOM的方法(methods)让你可以用特定方式操作这个树,用这些方法你可以改变文档的结构、样式或者内容。节点可以关联上事件处理器,一旦某一事件被触发了,那些事件处理器就会被执行。【说白了就是操作文档的,一个页面就是一个文档。】

DOM中文档、节点、元素的关系

文档:一个html文件就是一个文档,这个文档也就是一个对象。页面中顶级元素就是文档 document.
元素:页面中每一个标签就是一个元素。当然也可以看成一个对象,标签里面可以嵌套标签,元素之内也可以含有元素。其中这里面的根元素就是 html 标签。
demo:<div><p>哈哈</p></div>
节点: 页面中所有的内容都是节点。包括 标签、属性、文本[包括文字、空格、换行]。
Dom树:从网上扒拉一个图来看。这里介绍的很详细。
在这里插入图片描述

Dom练习

1.实现以下效果。点击进行选项时,如果发生变化则对样式进行变换。

在这里插入图片描述
附上相关代码:


<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>onchange事件</title>
    
    <script type="application/javascript">
        function setBodyAttr(attr,value){    //设置属性的函数
            if (document.body) eval('document.body.'+attr+'="'+value+'"'); 
            else notSupported();
        }
    </script>
    
</head>
<body>
<div style="margin: .5in; height: 400px;">
    <p><b><tt>text</tt>color</b></p>
    <form>
        <select onChange="setBodyAttr('text',    //注册 改变事件
        this.options[this.selectedIndex].value);">
            <option value="black">black
            <option value="darkblue">darkblue
        </select>
        <p><b><tt>bgColor</tt></b></p>
        <select onChange="setBodyAttr('bgColor',
        this.options[this.selectedIndex].value);">
            <option value="white">white
            <option value="lightgrey">gray
        </select>
        <p><b><tt>link</tt></b></p>
        <select onChange="setBodyAttr('link',
        this.options[this.selectedIndex].value);">
            <option value="blue">blue
            <option value="green">green
        </select>  <small>
        <a href="http://www.brownhen.com/dom_api_top.html" id="sample">
            (sample link)</a></small><br>
    </form>
</div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值