一、dom常识
1、style属性
style对象的属性值都是字符串,设置时必须包括单位,但是不含规则结尾的分号。比如,elem.style.width不能写为100,而要写为100px。

2、getComputedStyle
获取元素的高度。

var elem = document.getElementById('container');
var hValue = window.getComputedStyle(elem, null).getPropertyValue('height');
上面代码得到的height属性,是浏览器最终渲染出来的高度,比其他方法得到的高度有更大的可靠性。
window.getComputedStyle(test, ':before').content;

3、createTextNode和innerHTML区别

var p=document.createElement("p");
p.className="message";
p.innerHTML="<b>I love js</b>";
document.body.appendChild(p);

innerHTML属于HTML Dom,会将文本中包含的HTML代码实现效果。

var p=document.createElement("p");
p.className="message";
var textnode=document.createTextNode("<b>I love js</b>");
p.appendChild(textnode);
document.body.appendChild(p);

createTextNode属于XML Dom,只是纯粹创造了文本节点,所以返回的效果也就是纯文本内容。

4、innerHTML,outerHTML,innerText,outerText的区别

//innerHTML
设置或获取位于对象起始和结束标签内的HTML,输出<div id="div"></div>之间的内容;
//outerHTML
设置或获取对象及其内容的HTML形式,连同<div id="div"></div>和它们之间的内容一起输出;
//innerText
设置或获取位于对象起始和结束标签内的文本,输出的内容都是网页上应该正常输出的;
//outerText
设置(包括标签)或获取(不包括标签)对象的文本,输出的内容都是网页上应该正常输出的。

二、dom操作
1、创建新节点

createDocumentFragment()    //创建一个DOM片段
createElement()   //创建一个具体元素
createTextNode()   //创建一个文本节点

2、添加节点

appendChild()

3、插入节点

insertBefore()

4、复制节点

cloneNode() 

5、移除节点

removeChild()

6、替换节点

replaceChild()

7、查找节点

getElementsByTagName()    //通过标签名称
getElementsByName()    //通过元素的Name属性的值
getElementById()    //通过元素Id,唯一性

dom那些事儿的更多相关文章

  1. 为什么越来越少的人用jQuery

    摘要:JQuery该退役了. 原文:为什么越来越少的人用jQuery 作者:Lemonade Fundebug经授权转载,版权归原作者所有. 最早期的开发,大多都使用jQuery,它给我们带来了很多的 ...

  2. js表格打印自动分页demo

    本文翻译自:How Does setState Know What to Do? 原作者:Dan Abramov 如果有任何版权问题,请联系shuirong1997@icloud.com 当你在组件中 ...

  3. 「译」setState如何知道它该做什么?

    本文翻译自:How Does setState Know What to Do? 原作者:Dan Abramov 如果有任何版权问题,请联系shuirong1997@icloud.com 当你在组件中 ...

  4. DOM LEVEL 1 中的那些事儿[总结篇-下]

    本文承接:DOM LEVEL 1 中的那些事儿[上]   2.3 Element类型 Element类型应该是Document类型之外使用的最多的节点类型了,Element代表XML或HTML文档中的 ...

  5. 说说DOM的那些事儿

    引子 先来一颗栗子: <img src="/sub/123.jpg" alt="test" /> <script type="tex ...

  6. DOM LEVEL 1 中的那些事儿[总结篇-上]

    DOM是前端编程中一个非常重要的部分,我们在动态修改页面的样式.内容.添加页面动画以及为页面元素绑定事件时,本质都是在操作DOM.DOM并不是JS语言的一个部分,我们通过JAVA.PHP等语言抓取网页 ...

  7. 什么是jquery $ jQuery对象和DOM对象 和一些选择器

    1什么是jQuery: jQuery就是将一些方法封装在一个js文件中.就是个js库 我们学习这些方法. 2为什么要学习jQuery: 原生js有以下问题: 1.兼容性问题2.代码重复3.DOM提供的 ...

  8. 从click事件理解DOM事件流

    事件流是用来解释页面上的不同元素接受一个事件的顺序,首先要明确两点: 1.一个事件的影响元素可能不止一个(同心圆理论),但目标元素只有一个. 2.如果这些元素都绑定了相同名称的事件函数,我们怎么知道这 ...

  9. AngularJS in Action读书笔记2——view和controller的那些事儿

    今天我们来818<angularjs in action>的第三章controller和view. 1.Big Picture概览图 View是angularjs编译html后呈现出来的, ...

随机推荐

  1. SpringMVC使用HttpInvoker发布远程服务

    参考这篇文章https://www.cnblogs.com/fanqisoft/p/10283156.html 将提供者配置类中的 1 @Bean 2 public HessianServiceExp ...

  2. Python中__repr__和__str__区别

    Python中__repr__和__str__区别 看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): ...

  3. scrapy通过修改配置文件发送状态邮件

    EXTENSIONS = {    'scrapy.extensions.statsmailer.StatsMailer': 500,} STATSMAILER_RCPTS = ['159882826 ...

  4. 在Asp.Net Core中使用中间件保护非公开文件

    在企业开发中,我们经常会遇到由用户上传文件的场景,比如某OA系统中,由用户填写某表单并上传身份证,由身份管理员审查,超级管理员可以查看. 就这样一个场景,用户上传的文件只能有三种人看得见(能够访问) ...

  5. 使用光盘搭建本地yum源

    刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...

  6. 使用zabbix3.0.4的ICMP Ping模版实现对客户端网络状态的监控

    一.登陆Zabbix服务器做以下操作: 1.fping安装 wget http://www.fping.org/dist/fping-3.16.tar.gz tar zxvf fping-3.16.t ...

  7. 利用mycat实现基于mysql5.5主从复制的读写分离

    整体步骤: 1.准备好两台服务器,一台作为主数据库服务器,一台作为从服务器,并安装好mysql数据库,此处略 2.配置好主从同步 3.下载JDK配置mycat依赖的JAVA环境,mycat采用java ...

  8. python-pandas 高级功能(通过学习kaggle案例总结)

    方法.iterrows()遍历循环df中的元素. for index,row in df.iterrows(): pass 更改df一个元素中的变量值. data1.set_value(index,' ...

  9. hdu2838树状数组解逆序

    离散化和排序后的序号问题搞得我实在是头痛 不过树状数组解逆序和偏序一类问题真的好用 更新:hdu的数据弱的真实,我交上去错的代价也对了.. 下面的代码是错的 /* 每个点的贡献度=权值*在这个点之前的 ...

  10. 步步为营-68-asp.net简单练习(get set)

    1 加法计算器 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...