有关Html页面节点的简单理解
这是之前研究web前端的一点经验,主要针对刚入门还没怎么研究的朋友。
因为我发现我在用js,css参与过网站开发项目后仍然没有理解文本节点与普通节点的差别,所以记下来拿来分享一下。
先上结论:<div>之内有三个节点,包括两个文本节点和一个<b>节点,就算文本节点里面没有任何文字,它也是依旧存在的~
下面是一个简单的Html界面。
<html>
<body>
<div>这是div的第一个子节点ObjectText类型
<b>这是div的第二个子节点内容</b>
这是div的第三个子节点ObjectText类型
</div>
<br/>
<br/> <script type="text/javascript">
//下面用js写一段代码用来显示我们想看到的信息
var getTag=document.getElementsByTagName("div") //获取div节点 document.write("TagName:"+getTag[0].tagName+"<br/>")
document.write("nodeValue:"+getTag[0].nodeValue+"<br/>")
document.write("innerHTML:"+getTag[0].innerHTML+"这里用write看不出,alert就能看到全部信息"+"<br/>")
alert(getTag[0].innerHTML+"<br/>")
document.write("firstChild:"+getTag[0].firstChild+"<br/>")
document.write("firstChild.nodeValue:"+getTag[0].firstChild.nodeValue+"<br/>")
document.write("<br/>")
document.write("<br/>") for(var i=0;i<getTag[0].childNodes.length;i++) //遍历子节点
{
document.write("innerHTML:"+getTag[0].childNodes[i].innerHTML+"<br/>") document.write("nodeValue:"+getTag[0].childNodes[i].nodeValue+"<br/>") document.write("类型:"+getTag[0].childNodes[i]+"<br/><br/>") }
document.write(getTag[0].childNodes[1].firstChild.nodeValue)
</script> </body>
</html>
下面是运行结果:
TagName:DIV
nodeValue:null
innerHTML:这是div的第一个子节点ObjectText类型 这是div的第二个子节点内容 这是div的第三个子节点ObjectText类型 这里用write看不出,alert就能看到全部信息
firstChild[object Text]
firstChild.nodeValue这是div的第一个子节点ObjectText类型
innerHTML:undefined
nodeValue:这是div的第一个子节点ObjectText类型
类型:[object Text]
innerHTML:这是div的第二个子节点内容
nodeValue:null
类型:[object HTMLElement]
innerHTML:undefined
nodeValue: 这是div的第三个子节点ObjectText类型
类型:[object Text]
这是div的第二个子节点内容
总之,我们需要明白的就是,<div>之内有三个节点,包括两个文本节点和一个<b>节点,就算文本节点里面没有任何文字,它也是依旧存在的~
有关Html页面节点的简单理解的更多相关文章
- Less与TypeScript的简单理解与应用,并使用WebPack打包静态页面
既然选择了远方,便只顾风雨兼程 __ HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 创建空项目 使用Less 使用TypeScript 使用WebPack 开始写项目 总 ...
- 【原创】分布式之数据库和缓存双写一致性方案解析(三) 前端面试送命题(二)-callback,promise,generator,async-await JS的进阶技巧 前端面试送命题(一)-JS三座大山 Nodejs的运行原理-科普篇 优化设计提高sql类数据库的性能 简单理解token机制
[原创]分布式之数据库和缓存双写一致性方案解析(三) 正文 博主本来觉得,<分布式之数据库和缓存双写一致性方案解析>,一文已经十分清晰.然而这一两天,有人在微信上私聊我,觉得应该要采用 ...
- input屏蔽历史记录 ;function($,undefined) 前面的分号是什么用处 JSON 和 JSONP 两兄弟 document.body.scrollTop与document.documentElement.scrollTop兼容 URL中的# 网站性能优化 前端必知的ajax 简单理解同步与异步 那些年,我们被耍过的bug——has
input屏蔽历史记录 设置input的扩展属性autocomplete 为off即可 ;function($,undefined) 前面的分号是什么用处 ;(function($){$.ex ...
- 关于 Promise 的一些简单理解
一.ES6 中的 Promise 1.JS 如何解决 异步问题? (1)什么是 同步.异步? 同步指的是 需要等待 前一个处理 完成,才会进行 下一个处理. 异步指的是 不需要等待 前一个处理 完成, ...
- 简单理解Struts2中拦截器与过滤器的区别及执行顺序
简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标 ...
- Deep learning:四十六(DropConnect简单理解)
和maxout(maxout简单理解)一样,DropConnect也是在ICML2013上发表的,同样也是为了提高Deep Network的泛化能力的,两者都号称是对Dropout(Dropout简单 ...
- Deep learning:四十二(Denoise Autoencoder简单理解)
前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Be ...
- 简单理解ECMAScript2015中的箭头函数新特性
箭头函数(Arrow functions),是ECMAScript2015中新加的特性,它的产生,主要有以下两个原因:一是使得函数表达式(匿名函数)有更简洁的语法,二是它拥有词法作用域的this值,也 ...
- 简单理解前端web开发的MVC模式
随着前端Ajax兴起.前端开发工作进一步划分:js开发和ui页面制作.另外从整个前端项目的清晰明朗以可扩展性角度来看,MVC的应用也越来越必要,特别是对大的项目. 例如 需要给一个页面上的button ...
随机推荐
- Android中WebView的相关使用
近期做的项目中,遇到个非常棘手的问题: 客户给我的数据是有限制的,因此,在返回某条详细页面内容的时候,他仅仅能给我一个html片段,里面包括 文字,图片以及附件的下载地址.假设网页模版规范的爱比較好说 ...
- Jquery对象和dom对象获取html的方法
1)DOM对象 var domObj = document.getElementById("id"); //DOM对象 domObj.innerHTML;// domObj.out ...
- 改变TLabel字型和颜色(Styled特性高于自身特性,李维的博客)
最近收到几位使用者的来信都是和如何改变FireMonkey TLabel组件的字型和颜色, 这几位使用者都是直接改变TextSettings特性中的Font子特性但却无法改变字型和颜色, 因此来信询问 ...
- 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片
原文:上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片 我们知道,如果网站上传图片时,如果用户上传的是CMYK图片,那么在网站上将是无法显示的,通常的现象是出现一个红叉.下面使用将Ima ...
- Matlab Tricks(二十五) —— 二维图像的 shuffle
比如对于 mnist (手写字符图像),每幅图像的像素点为 28*28,所以有: perm = randperm(28*28); % 重排列 mnist.train_images = reshape( ...
- WPF实用指南一:在WPF窗体的边框中添加搜索框和按钮
原文:WPF实用指南一:在WPF窗体的边框中添加搜索框和按钮 在边框中加入一些元素,在应用程序的界面设计中,已经开始流行起来.特别是在浏览器(Crome,IE,Firefox,Opera)中都有应用. ...
- Microsoft.AspNet.SignalR实现弹幕(即时通讯)
引用 Microsoft.AspNet.SignalR 服务器 自定义Connection public class BarrageConnection : PersistentConnection ...
- HTTP协议-请求报文
- Qt中嵌入Directx11(有句柄就可以)
最近要做个游戏场景编辑器,需要directx11配合gui框架使用,所以简单地弄了一个directx11嵌入到Qt窗体中的程序. 1 建立工程 建一个Qt的工程,配置好directx的包含目录和库目录 ...
- ASP.NET MVC 学习笔记1 Talk about controller & route
For the sake of learning programming better, I'd like to increase the frequency of using English. So ...