python大佬养成计划----HTML DOM

什么是DOM?

DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。
HTML DOM 定义了访问和操作 HTML 文档的标准方法。
DOM 以树结构表达 HTML 文档。

HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。
换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。

根据HTML DOM标准,HTML中所有内容都是节点。

整个文档是一个文档节点
每个 HTML 元素是元素节点
HTML 元素内的文本是文本节点
每个 HTML 属性是属性节点
注释是注释节点

HTML DOM的一些方法

getElementById(id) - 获取带有指定 id 的节点(元素)
appendChild(node) - 插入新的子节点(元素)
removeChild(node) - 删除子节点(元素)

HTML DOM的一些属性

innerHTML - 节点(元素)的文本值
parentNode - 节点(元素)的父节点
childNodes - 节点(元素)的子节点
attributes - 节点(元素)的属性节点

应用:动态添加城市

需求:当我们访问网页时,添加网页上所没有的地址

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动态添加城市</title>
    <script>
        function add_city() {
        // 1. 获取输入框值
        var cityEle= document.getElementById(‘city‘).value;
        // 2. 创建城市的文本节点
        var citynode = document.createTextNode(cityEle);
        // 3. 创建li的元素节点
        var linode = document.createElement("li");
        // 4. 把城市的文本节点,添加到li元素节点中
        linode.appendChild(citynode);
        // 5. 获取顺序列表ol标签的值
        var ulEle = document.getElementById(‘city_line‘);
        // 6. 将li元素节点添加到ol标签里
        ulEle.appendChild(linode);
        }
    </script>
</head>
<body>
    <input type="text" id="city" placeholder="城市">
    // 确定事件类型‘onclick‘
    <input type="submit" value="添加" onclick="add_city()">

    <ol id="city_line">
        <li>西安</li>
        <li>拉萨</li>
        <li>成都</li>
    </ol>
</body>
</html>


应用:城市的二级联动

所谓二级联动,就是要通过一个下拉列表的选择从而在另一个select下拉列表中显示出对应的数据。好比我有两个下拉列表,第一列表是选择省份,那么我选择某一个省份,那么另一个列表也会对应显示该省份的城市。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>二级联动(城市)</title>
    <style>
        div{
            margin: 0 auto;
            text-align: center;
            margin-top: 100px;
        }
    </style>
    <SCRIPT>
        function choice_city() {
            // 2.1 获取用户选择的省份
            var province_Ele  = document.getElementById(‘province‘).value;
            // 2.2 创建一个二维数组,用来存放省份和城市的对应关系
            var cities = new Array(3);
            cities[0] = new Array(‘西安‘,‘咸阳‘,‘宝鸡‘);
            cities[1] = new Array(‘成都‘,‘绵阳‘,‘遂宁‘);
            cities[2] = new Array(‘济南‘,‘青岛‘,‘临沂‘);
            // 3 获取用户选择的城市
            var seleceEle = document.getElementById(‘city‘);
            // 4 清空第二个下拉列表的内容
            seleceEle.options.length = 1 ;
            // 2.3 遍历二维数组,比较省份编号和用户选择的省份
            for(var i = 0;i<cities.length;i++){
                // 2.4 如果选择省份编号为i,遍历城市
                if (province_Ele == i){
                    for(var j = 0;j<cities[i].length;j++){
                        // 2.5 创建城市的文本节点
                        var citynode = document.createTextNode(cities[i][j]);
                        // 2.6 创建option的属性节点
                        var optionnode = document.createElement(‘option‘);
                        // 2.7 将城市文本添加到option属性节点
                        optionnode.appendChild(citynode);
                        // 2.8 将option内容添加到select元素里面
                        seleceEle.appendChild(optionnode)
                    }
                }
            }
        }
    </SCRIPT>
</head>
<body>
<form>
    <div>
        <span>籍贯</span>
        // 1. 确定事件类型onchange, 并为其绑定一个函数
        <select id="province" onchange="choice_city()">
            <option>--省份--</option>
            <option value="0">陕西省</option>
            <option value="1">四川省</option>
            <option value="2">山东省</option>

        </select>
        <select id="city">
            <option>--市区--</option>
        </select>
    </div>

</form>
</body>
</html>


原文地址:https://www.cnblogs.com/homehtml/p/11831235.html

时间: 2024-10-08 08:40:41

python大佬养成计划----HTML DOM的相关文章

python大佬养成计划----CSS样式类

CSS 概述 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外部样式表可以极大提高工作效率 外部样式表通常存储在 CSS 文件中 多个样式定义可层叠为一个 HTML 标签原本被设计为用于定义文档内容.通过使用 <h1>.<p>.<table> 这样的标签,HTML 的初衷是表达"这是标题"."

python大佬养成计划----HTML网页设计(序列)

序列化标签 1.有序标签--ol和li 有序列表标签是<ol>,是一个双标签.在每一个列表项目前要使用<li>标签.<ol>标签的形式是带有前后顺序之分的编号.如果添加或者删除一个列表项,编号会自动调整. <ol> <li>第一项</li> <li>第一项</li> <li>第一项</li> ... </ol> 有序标签的属性--start start属性是用来设置编号开始的

python大佬养成计划----HTML网页设计(表格)

制作网页时,要合理规划网页布局.比如,在网页中添加一个表格,可分为上.中.下三部分,上部存放网页标题或LOGO图片,中间部分是整个网页的主体内容,底部就是相关制作信息.此外,单元格里还可再添加单元格,将内容分类别.分层次合理规划. 表格标签--table 是一个双标签.一个表格中包含<table>.<tr>.<td>三个基本元素.首标签<table>和尾标签</table>表示一个表格的开始和结束.'tr=table row'用于表示一行的开始和

Web前端开发工程师养成计划【转载】

Web前端开发工程师养成计划(入门篇) 最原始的忠告:这个世界上有想法的人很多,但是有想法又能实现它的人太少! 首先要感谢伟大的Web2.0概念.产品概念.用户体验概念.jQuery插件,是它们在中国日渐成熟才解放了一直以来姥姥不疼舅舅不爱的前端开发工程师们. 有没有发现从09年下半年到现在全中国的互联网公司都在招聘前端开发工程师?如果你注意到了,那么恭喜你,你已经拥有那么一点点预测互联网职场动向的能力. 可能令你感到遗憾的是你从没从事过前端开发工作,不过没关系,只要你肯努力,一切都是可以学会的

爱今天养成计划

爱今天养成计划 第一阶段 第一阶段 7 天 每天打开今天 只记录一件事 每二阶段 每二阶段 21 天 简单备注投资事件. 一定要每天记录 每三阶段 第三阶段 90 天 全天记录,包括睡眠. 每天在规定时间里总结,可以是晚上的某个时间. 习惯养成 再结合其它的任务管理来安排自己的时间 推荐滴答清单 原文地址:https://www.cnblogs.com/F4NNIU/p/9298169.html

腾讯犀牛鸟「云开发」校园技术布道师养成计划

人才竞争日益激烈,如何构建一个具有市场竞争力的能力模型?是值得每一个开发者思考的话题.无论你是在校生,还是在职开发者,未雨绸缪,方能抓住机遇. 如何在大学规划你的技术职业生涯? 如何找准合适的技术方向? 如何提升技术实力? 如何构建技术社区影响力? 假若有一天,你想转型产品经理,又如何实现从技术向产品的华丽转身? 腾讯犀牛鸟云开发校园布道师养成计划之[大咖线上分享],邀请京东.腾讯等优秀产品经理和工程师,与大家分享他们的成长历程和经验,为你指点迷津! 从3月6日起,每周五,腾讯犀牛鸟云开发校园布

python之路17:DOM

概述 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.  查找元素 1.找到标签 获取单个元素 document.getElementById('i1') 获取多个元素(列表)document.getElementsByTagName('div') 获取多个元素(列表)document.getElementsByClassName('c1') a. 直接找 documen

python中用xpath和xml.dom解析html

本次推荐的组合为xml.dom.minidom和xpath.其中xml.dom.minidom为python的标准库,无须安装.xpath为Google出品的开源项目py-dom-xpath. 安装py-dom-xpath: 从https://py-dom-xpath.googlecode.com/files/py-dom-xpath-0.1.tar.gz下载压缩包,解压. CD到py-dom-xpath-0.1目录 执行命令:C:\python27\python setup.py instal

python学习之路前端-Dom

Dom简介    文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把网页和脚本以及其他的编程语言联系了起来.DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容 一.查找元素 1.直接查找 document.getElementById 根据ID获取一个标签 document.getElementsByName 根据name属性获