Dom入门教程图解 推荐

那么Dom是如何读取和管理Html文件的呢?首先你必须要了解html的源码结构.看图

如果你有学过或写过Html,那么你会对上图一目了然.我想要说明的就是Html的源码结构是有层次的,而且标签与杯签之间还存在着父子,或相邻的关系.上图不难看出HTML这个标签是最顶级的.最上层的.也可以理解成html文件的根.其次是Head与Body标签.这两个标签是相邻的.也可以理解成兄弟关系.但他们都属于html的子标签或称为子元素.然后Body标签内包含了Table,Div,Div.这三个标签你可以理解为Body的子标签或子元素.Body为父他们为子.Head所含的标签也是同理.另外第一个div内包含了另一个div.第二个div内包含了一些文本内容.他们的关系也是父子关系.Dom正是利用了Html源码的这种关系结构.而巧妙的在你的html源码中行走自如.犹如一位武林高手一般.尽情地施展他的"凌波微步".看下面的代码.代码结构与上图是吻合的.不同的是多了几个按扭来执行一些dom的指令操作.运行以后你便走进了Dom的神秘与精彩世界!!!

这是网页的标题

文本内容

function alert_HTML(){ //弹出html标签函数
var html = document.documentElement;
alert(html.tagName);
}
function alert_Body(){ //弹出body标签函数
var body = document.body;
alert(body.tagName);
}
function alert_Head(){//弹出head标签函数,
var html = document.documentElement;
//head是html标签中的第一个子元素
//childNodes可以获取某一标签内的所有子元素
var head = html.childNodes[0].tagName;
alert(head);
}
function up_Title(){
//注意title标签内的"这是网页的标题"将被改变.
document.title = "Web圈提提供的Dom图解入门教程";
}
function up_Table(){//为表格添加行,添加列并写入文本内容
var Table = document.getElementsByTagName("table")[0];//获取网页内第一个表格
var Tr = Table.insertRow(0);//为表格添加一行
var Td = Tr.insertCell(0);//为新建的行,添加一列
Td.innerHTML = "我是表格中的文本"; //利用innerHTML属性向td写入文本
}
function get_Div(){//获取第一个div和他的孩子
var div = document.getElementsByTagName("div")[0];
alert("我是第一个"+div.tagName);
var child_div = div.childNodes[0];//虽然是子div,但是按解析顺序他在该页内是第二个出现的div,
alert("我是第一个div的子元素.我也是"+child_div.tagName);
}
function up_div_text(){
var div = document.getElementsByTagName("div")[2];//其实如果按解析顺序该div在本页应该是第3个,
div.innerHTML = "欢迎阅读web圈提供的Dom图解入门教程.www.jb51.net 作者:康董";
}

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

上面演示的代码实例.略有繁琐.并非是Dom最优秀的使用方法.但足以让你了解Dom是怎样工作的.
下面将演示Dom迅速访问某个标签的方法.可以让你在成千上万个html标签中迅速找到你想的某个标签.比如你可以为你的html标签添加一个 ID属性.在Dom中有一个getElementById方法.该方法可以根据html标签的ID属性值,迅速找到这个标签.然后对其进行更改或其他操作.
下面的代码我只为table和第一个div添加一个id属性值.利用getElementByid迅速向able和第一个div的子div添加内容

这是网页的标题

文本内容

function up_table(){//更改table函数
var Table = document.getElementById("a");//根据id获取标签元素
var Tr = Table.insertRow(0);
var Td = Tr.insertCell(0);
Td.innerHTML = "欢迎光临Web圈,网址:www.web666.net";
}
function up_div(){//为第一个div的子div添加文本内容
var div = document.getElementById("b");
div.childNodes[0].innerHTML="我是子div,我被写入文本了";
}

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

上面的两个例子中分别使用了Dom的以下方法:
document:对当前整个Html网页的引用
documentElement:获取html和xml文件中的根元素.在html文件中总是返回Html标签.在xml文件中总是返回最顶层的那个元素
getElementsByTagName:根据指定的标签名称,来获取网页中所有相同的标签元素.如:table,或div.则会找出网页中所有table元素,或所有div元素.以一个类似数组的方式来返回对这些元素的引用.
getElementById:根据指定的标签id值.来寻找标签元素.并返回对该标签的引用
childNodes:获取某个标签下所有的子标签元素,也就是我所说的孩子元素.并以一个类似数组的方式来返回对所有子元素的引用
insertRow:为表格增加一行
insertCell:为表格的某行增加一列
该入门教程只讲解了Dom中的一部份知识,请了解更多关于Dom的内容
作者:康董 出自:Www.Web666.Net

(0)

相关推荐

  • Dom入门教程图解 推荐

    那么Dom是如何读取和管理Html文件的呢?首先你必须要了解html的源码结构.看图 如果你有学过或写过Html,那么你会对上图一目了然.我想要说明的就是Html的源码结构是有层次的,而且标签与杯签之间还存在着父子,或相邻的关系.上图不难看出HTML这个标签是最顶级的.最上层的.也可以理解成html文件的根.其次是Head与Body标签.这两个标签是相邻的.也可以理解成兄弟关系.但他们都属于html的子标签或称为子元素.然后Body标签内包含了Table,Div,Div.这三个标签你可以理解为B

  • jquery 入门教程 [翻译] 推荐

    jQuery入门指南教程 这个指南是一个对jQuery库的说明,要求读者了解HTML(DOM)和CSS的一些常识.它包括了一个简单的Hello World的例子,选择器和事件基础,AJAX.FX的用法,以及如何制作jQuery的插件. 这个指南包括了很多代码,你可以copy它们,并试着修改它们,看看产生的效果. 内容提要 安装 Hello jQuery Find me:使用选择器和事件 Rate me:使用AJAX Animate me(让我生动起来):使用FX Sort me(将我有序化):使

  • Android Studio 新手入门教程(一)基本设置图解

    ##写在前面: 作为一个刚半只脚踏入android开发的新手,在使用eclipse开发了两个自我感觉不甚成熟的商城类app之后,遇到了一些问题,总结为如下: 1.代码复用性 .findviewById,onclick事件等,一遍遍重复这类无聊的代码简直浪费生命,这个问题推荐通过依赖注入框架ButterKnife解决,直接一键生成布局中的所有控件,包括onclick点击事件,但是诸如行布局item里的控件,以及布局中include复用的布局要如何使用框架解决,这个有待后续再看. 另一个代码重复率很

  • 基于Bootstrap框架菜鸟入门教程(推荐)

    Bootstrap菜鸟入门教程 Bootstrap简介 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. 一.栅格系统 栅格系统的工作原理: "行(row)"必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding). 通过"行(ro

  • Java的JNI快速入门教程(推荐)

    1. JNI简介 JNI是Java Native Interface的英文缩写,意为Java本地接口. 问题来源:由于Java编写底层的应用较难实现,在一些实时性要求非常高的部分Java较难胜任(实时性要求高的地方目前还未涉及,实时性这类话题有待考究). 解决办法:Java使用JNI可以调用现有的本地库(C/C++开发任何和系统相关的程序和类库),极大地灵活Java的开发. 2. JNI快速学习教程 2.1 问题: 使用JNI写一段代码,实现string_Java_Test_helloworld

  • android studio 新手入门教程(二)项目的导入教程图解

    上篇文章介绍了AS的一些常用设置方法,当工具调教妥当后,自然就要开始项目的开发啦.从零开始新建一个项目,这个简单,不必多说,这篇博客会分享我从旧平台eclipse导入项目到AS的过程,以及遇到的一些问题并如何解决.开篇先粗略的提一些需要注意的地方. ##结构目录 和eclipse不同,在android 视图下的项目目录分为java,res和manifests. manifests目录存放清单文件,不必多说. java目录会默认生成三个文件夹,其中test为在本机执行单元测试代码的目录, andr

  • android studio 新手入门教程(三)Github( ignore忽略规则)的使用教程图解

    Android Studio 里集成了上传代码到 github 的功能,所以使用上还是很简单的,设置里添加账号并测试,之后就可以很方便地上传代码到 github 了 如果你的项目是使用Android Studio新建的,那么关于 github 基本就没什么问题了.Android Studio新建项目是自带 .ignore 文件的,也就是说默认是使用了忽略规则上传.默认忽略的是 *.iml .gradle /local.properties /.idea/workspace.xml /.idea/

  • Python从入门到精通之环境搭建教程图解

    本章内容: 一.下载python安装包 下载地址:https://www.python.org/downloads/ 二.选择适合自己系统的文件,进行下载 Windows环境安装(Windows 10) 三.Python解释器的安装 双击python-3.7.4-amd64.exe文件,勾选Add Python 3.7 to PATH,点击自定义安装 点击Next 选择自定义路径,点击Install即可 安装成功 右键此电脑属性,查看环境变量是否配置 选择环境变量,查看path 查看python

  • IDEA插件推荐之Maven-Helper的教程图解

    这个插件能可以通过 UI 界面的方式来查看 maven 项目的依赖关系,当然还有最重要的功能 解决依赖冲突 ,使用起来非常的方便,效果图: 在开发 JAVA 项目的时候,经常会由于 maven 依赖冲突导致项目启动失败,这个时候往往会懵逼,到底哪个依赖冲突了,需要排除哪个子依赖,有了这个插件之后就可以很快的定位到冲突的组件,并进行排除. 安装 首先进入 IDEA plugins 市场,搜索 Maven Helper 进行安装: 这里需要注意的是国内网络连接 jetbrains 服务器会比较慢,可

  • Jupyter notebook快速入门教程(推荐)

    本文主要介绍了Jupyter notebook快速入门教程,分享给大家,具体如下: 本篇将给大家介绍一款超级好用的工具:Jupyter notebook. 为什么要介绍这款工具呢? 如果你想使用Python学习数据分析或数据挖掘,那么它应该是你第一个应该知道并会使用的工具,它很容易上手,用起来非常方便,是个对新手非常友好的工具.而事实也证明它的确很好用,在数据挖掘平台 Kaggle 上,使用 Python 的数据爱好者绝大多数使用 jupyter notebook 来实现分析和建模的过程,因此,

随机推荐