element.innerHTML一个不起眼的属性,我对他它又重新认识了一遍

简介: element.innerHTML一个不起眼的属性,我对他它又重新认识了一遍

element.innerHTML

Element.innerHTML属性设置或获取HTML语法表示的元素的后代。

替换元素的内容

设置 innerHTML 的值可以让你轻松地将当前元素的内容替换为新的内容。

如下代码举例了为

元素添加新的

元素的操作方法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>innerHTML 属性</title>
</head>
<body>
<ul id="city">
    <li>邯郸</li>
    <li id="bd">保定</li>
    <li>邢台</li>
</ul>
<script>
    // 为<ul>元素添加新的<li>元素
    // 节点方式操作
    /*var newLi = document.createElement('li');
    var textNode = document.createTextNode('石家庄');
    newLi.appendChild(textNode);
    var city = document.getElementById('city');
    city.appendChild(newLi);*/
    // innerHTML方式操作
    var city =document.getElementById('city');
    var html = city.innerHTML;//获取指定元素的HTML代码
    console.log(html);
    html += '<li>石家庄</li>';
    city.innerHTML = html;
</script>
</body>
</html>

效果图如下:

通过 city.innerHTML = html 为列表新增一列。

但是有一件非常重要的事情,就是该属性存在安全问题。


innerHTML属性的问题:安全问题(innerHTML属性的值不能由用户编写)。


用 innerHTML 插入文本到网页中并不罕见。但这有可能成为网站攻击的媒介,从而产生潜在的安全风险问题。当插入纯文本时,建议不要使用 innerHTML 。


目录
相关文章
|
2月前
|
JavaScript 前端开发 搜索推荐
快收藏!超实用标签title属性重写,让同事对你刮目相看
【10月更文挑战第1天】快收藏!超实用标签title属性重写,让同事对你刮目相看
78 10
快收藏!超实用标签title属性重写,让同事对你刮目相看
|
4月前
|
JavaScript 前端开发 API
前端开发者的救赎:揭秘JQ对象与DOM元素的神秘转换术
【8月更文挑战第23天】在Web前端开发领域,jQuery(简称JQ)作为一款流行的JavaScript库,极大简化了HTML文档遍历、事件处理、动画及Ajax交互等操作。理解和掌握jQuery对象与DOM元素间的转换至关重要。
42 0
|
7月前
|
Web App开发 前端开发 架构师
快10年的老前端了,我还分不清 slice 和 splice,这到底是谁的锅
快10年的老前端了,我还分不清 slice 和 splice,这到底是谁的锅
|
JavaScript 前端开发 索引
JavaScript 手写代码 第七期(重写数组方法三) 用于遍历的方法
JavaScript 手写代码 第七期(重写数组方法三) 用于遍历的方法
63 0
|
设计模式 JavaScript 前端开发
【再来亿遍 温故知新】—— 关于 JS 原型你必须要知道的二三
本瓜一向认为:学习不是一蹴而就的事情。一定是要求学习者对知识点进行反复咀嚼拿捏、不断打破重塑,长此以往,才以期达到融会贯通、为我所用的程度。所谓:温故知新,不亦乐乎?
|
前端开发
前端知识案例-javascipt核心语法
前端知识案例-javascipt核心语法
63 0
前端知识案例-javascipt核心语法
|
Serverless C语言 Python
学编程这么久,还傻傻分不清什么是方法(method),什么是函数(function)?
在标准库inspect 中,它提供了两个自省的函数,即 ismethod() 和 isfunction(),可以用来判断什么是方法,什么是函数。
318 0
学编程这么久,还傻傻分不清什么是方法(method),什么是函数(function)?
|
API 索引
在forEach面前大多数人都可能会犯的错
使用过`forEach`的人大致有两种:普通使用,简简单单;复杂使用,总想搞出点花样来,结果一些莫名其妙的bug就出现了,解决这些bug所花费的时间都可以换一种思路实现了,能用作`for`循环的,又不只是`forEach`。没错,笔者就是后者,终究是自己“学艺不精”。于是乎,花点时间,结合自己的实际开发经验,再来好好理理`forEach`。
180 0
在forEach面前大多数人都可能会犯的错
「站在上帝的角度」谈谈Element组件结构-Radio
「站在上帝的角度」谈谈Element组件结构-Radio
「站在上帝的角度」谈谈Element组件结构-Icon
「站在上帝的角度」谈谈Element组件结构-Icon