JavaScript操作HTML元素和样式的方法详解


Posted in Javascript onOctober 21, 2015

JavaScript HTML DOM 元素(节点)
创建新的 HTML 元素
如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素。
 实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("div1");
element.appendChild(para);
</script>

例子解析:
这段代码创建新的<p> 元素:

var para=document.createElement("p");

如需向 <p> 元素添加文本,您必须首先创建文本节点。这段代码创建了一个文本节点:

var node=document.createTextNode("This is a new paragraph.");

然后您必须向 <p> 元素追加这个文本节点:

para.appendChild(node);

最后您必须向一个已有的元素追加这个新元素。
这段代码找到一个已有的元素:

var element=document.getElementById("div1");

以下代码在已存在的元素后添加新元素:

element.appendChild(para);

删除已有的 HTML 元素
这段代码向这个已有的元素追加新元素:
实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>

实例解析
这个 HTML 文档含有拥有两个子节点(两个 <p> 元素)的 <div> 元素:

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

找到 id="div1" 的元素:

var parent=document.getElementById("div1");

找到 id="p1" 的 <p> 元素:

var child=document.getElementById("p1");

从父元素中删除子元素:

parent.removeChild(child);

lamp 如果能够在不引用父元素的情况下删除某个元素,就太好了。
不过很遗憾。DOM 需要清楚您需要删除的元素,以及它的父元素。
这是常用的解决方案:找到您希望删除的子元素,然后使用其 parentNode 属性来找到父元素:

var child=document.getElementById("p1");
child.parentNode.removeChild(child);

JavaScript HTML DOM - 改变CSS
HTML DOM 允许 JavaScript 改变 HTML 元素的样式。
改变 HTML 样式
如需改变 HTML 元素的样式,请使用这个语法:
document.getElementById(id).style.property=new style
下面的例子会改变 <p> 元素的样式:
实例

<html>
<body>

<p id="p2">Hello World!</p>

<script>
document.getElementById("p2").style.color="blue";
</script>

<p>The paragraph above was changed by a script.</p>

</body>
</html>

本例改变了 id="id1" 的 HTML 元素的样式,当用户点击按钮时:
实例

<!DOCTYPE html>
<html>
<body>

<h1 id="id1">My Heading 1</h1>
<button type="button" 
onclick="document.getElementById('id1').style.color='red'">
Click Me!</button>

</body>
</html>
Javascript 相关文章推荐
JavaScript 解析读取XML文档 实例代码
Jul 07 Javascript
Jquery选择器 $实现原理
Dec 02 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
Feb 10 Javascript
JS注释所产生的bug 即使注释也会执行
Nov 19 Javascript
JS中Location使用详解
May 12 Javascript
jQuery获得字体颜色16位码的方法
Feb 20 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
Mar 30 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
Sep 22 Javascript
jQuery 的 ready()的纯js替代方法
Nov 20 Javascript
高效的jQuery代码编写技巧总结
Feb 22 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 Javascript
element-ui 实现响应式导航栏的示例代码
May 08 Javascript
13个PHP函数超实用
Oct 21 #Javascript
JavaScript对HTML DOM使用EventListener进行操作
Oct 21 #Javascript
JavaScript对象数组的排序处理方法
Oct 21 #Javascript
Javascript刷新窗口方法小结
Oct 21 #Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
Oct 21 #Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 #Javascript
JavaScript函数的调用以及参数传递
Oct 21 #Javascript
You might like
最简单的PHP程序--记数器
2006/10/09 PHP
FCKeditor的安装(PHP)
2007/01/13 PHP
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
2020/05/29 PHP
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
python 同时运行多个程序的实例
2019/01/07 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
建筑学推荐信
2013/11/03 职场文书
应届生个人求职信模板
2013/11/26 职场文书
法人委托书的范本格式
2014/09/11 职场文书
家长对孩子的寄语
2015/02/26 职场文书
承诺书模板大全
2015/05/04 职场文书
签字仪式主持词
2015/07/03 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python
解析redis hash应用场景和常用命令
2021/08/04 Redis
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫