拿到一个DOM节点后,我们可以对它进行更新。

可以直接修改节点的文本,方法有两种:

一种是修改innerHTML属性,这个方式非常强大,不但可以修改一个DOM节点的文本内容,还可以直接通过HTML片段修改DOM节点内部的子树:

// 获取

...

var p = document.getElementById(‘p-id‘);

// 设置文本为abc:

p.innerHTML = ‘ABC‘; //

ABC

// 设置HTML:

p.innerHTML = ‘ABC RED XYZ‘;

//

...

的内部结构已修改

用innerHTML时要注意,是否需要写入HTML。如果写入的字符串是通过网络拿到了,要注意对字符编码来避免XSS攻击。

第二种是修改innerText或textContent属性,这样可以自动对字符串进行HTML编码,保证无法设置任何HTML标签:

// 获取

...

var p = document.getElementById(‘p-id‘);

// 设置文本:

p.innerText = ‘alert("Hi")‘;

// HTML被自动编码,无法设置一个节点:

//

<script>alert("Hi")</script>

两者的区别在于读取属性时,innerText不返回隐藏元素的文本,而textContent返回所有文本。另外注意IE<9不支持textContent。

修改CSS也是经常需要的操作。DOM节点的style属性对应所有的CSS,可以直接获取或设置。因为CSS允许font-size这样的名称,但它并非JavaScript有效的属性名,所以需要在JavaScript中改写为驼峰式命名fontSize:

// 获取

...

var p = document.getElementById(‘p-id‘);

// 设置CSS:

p.style.color = ‘#ff0000‘;

p.style.fontSize = ‘20px‘;

p.style.paddingTop = ‘2em‘;

练习

有如下的HTML结构:

JavaScript

Java

javascript

Java

请尝试获取指定节点并修改:

// 获取

javascript

节点:

var js = document.getElementById(‘test-js‘);

// 修改文本为JavaScript:

// TODO:

js.innerHTML=‘JavaScript‘;

// 修改CSS为: color: #ff0000, font-weight: bold

// TODO:

js.style.color=‘#ff0000‘;

js.style.fontWeight=‘bold‘;

html css廖雪峰,廖雪峰js教程笔记12 用DOM更新 innerHMTL 和修改css样式(示例代码)相关推荐

  1. iview 下拉select样式_Vue.js相关:iview实现select tree树形下拉框的示例代码

    Vue.js相关:iview实现select tree树形下拉框的示例代码 发布于 2020-3-16| 复制链接 摘记: 本文介绍了iview实现select tree树形下拉框的示例代码,分享给大 ...

  2. html制作收货地址页面,css 收货地址平行四边形的线条样式示例代码

    代码如下所示: // 收货地址的平行四边形的线条样式 //样式 .top{ background-color: #fff; position: relative; } .top:before{ pos ...

  3. 廖雪峰js教程笔记10 浏览器对象

    JavaScript可以获取浏览器提供的很多对象,并进行操作. window window对象不但充当全局作用域,而且表示浏览器窗口. window对象有innerWidth和innerHeight属 ...

  4. html表单页面css样式代码,前端html表单与css样式(示例代码)

    1,from标签 from标签的功能是向服务器传输数据,实现用户交互的重要标签. from标签的具体使用: input标签使用示例: 姓名: 用户名: 密码: 爱好:骑车游戏电影 男女 第一句:act ...

  5. 廖雪峰js教程笔记 2

    arguments JavaScript还有一个免费赠送的关键字arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数.arguments类似Array但它不是一个Arr ...

  6. 廖雪峰js教程笔记9 json

    JSON是JavaScript Object Notation的缩写,它是一种数据交换格式. 在JSON出现之前,大家一直用XML来传递数据.因为XML是一种纯文本格式,所以它适合在网络上交换数据.X ...

  7. commander.js教程笔记

    并非严格的教程博文,属于是个人在学习过程中的笔记心得汇总. 内容相对官方文档更通俗一些,入门新人,如果看不懂官方文档,可以大致看一看这个.有错的话请指正,标准的还得看官方文档. 1.commander ...

  8. +pink老师的JS教程笔记+

    初识JS 目标 能够说出JS是什么 能够知道JS的发展历史 能够说出浏览器执行JS的原理 能够说出JS由哪三部分组成 能够写出JS三个输入输出的语句 运行在客户端的脚本语言(不需要编译,由js引擎逐行 ...

  9. ext js ajax表单校验,Extjs之grid单元格编辑校验(示例代码)

    效果如图所示: 1. 添加CSS样式 .x-grid-cell-invalid .x-grid-cell-inner:before{content: "";position: ab ...

最新文章

  1. 用计算机做科学实验评课,科学小实验课程听课心得
  2. 一起学nRF51xx 1 - GPIO
  3. Razer Synapse 0 day漏洞可获得Windows 10管理员权限
  4. boost::io::quoted用法的测试程序
  5. 李洪强经典面试题37
  6. jmeter mysql数据导出_Jmeter连接mysql
  7. c语言如何关闭线程,如何用C语言实现多线程
  8. linux chown
  9. 自定义验证之整数(包括0和负数)
  10. 0=iiLen 在C++中
  11. JUnit with Ant
  12. php元换成万元,万元单位换算器(元换算成万元换算器)
  13. html单页模板wap,单页模板html
  14. Java学习第十二天----方法参数类型以及返回值类型问题、链式编程、package包、权限修饰符、内部类、成员内部类
  15. 海尔轰天雷t7linux转windowxp,XP改win7系统雨林木风详细教程
  16. 计算机英语这门课上后感1000,英语教师听课心得体会作文
  17. python数组添加数据_Python Xarray将DataArray添加到数据
  18. Numpy中reshape的用法
  19. 3.7 使用吸管和颜色取样器工具 [Ps教程]
  20. 2 GateWay工作流程+GateWay搭建

热门文章

  1. 11.6 DAG最长路
  2. cf808D(xjb)
  3. 习题8-6 删除字符
  4. SOC设计与验证【单核、双核架构】
  5. 20120912,微软9月12日发布2个安全补丁
  6. solution--智力大冲浪
  7. 威富通科技软件测试笔试题
  8. Redis缓存预热、缓存穿透、缓存击穿、缓存雪崩,Redis布隆过滤器怎么实现?
  9. cellranger-atac 操作笔记-1:安装并构建绵羊单细胞ATAC参考基因组
  10. v-if和v-for不能一起使用的原因以及解决办法