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 相关文章推荐
extjs form textfield的隐藏方法
Dec 29 Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 Javascript
理解javascript中try...catch...finally
Dec 25 Javascript
jQuery动态加载css文件实现方法
Jun 15 Javascript
Bootstrap CSS组件之导航(nav)
Dec 17 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
Mar 15 Javascript
深入理解angular2启动项目步骤
Jul 15 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
Aug 11 Javascript
javascript中的replace函数(带注释demo)
Jan 07 Javascript
微信小程序实现MUI数字输入框效果
Jan 31 Javascript
Vue项目中使用Vux的安装过程
May 01 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
Sep 19 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
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
jQuery实现的网格线绘制方法
2016/06/20 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
介绍Python中内置的itertools模块
2015/04/29 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
python使用knn实现特征向量分类
2018/12/26 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
python文件编写好后如何实践
2020/07/07 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
C++面试题:关于链表和指针
2013/06/05 面试题
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
化学专业毕业生自荐信
2013/11/15 职场文书
写给老婆的检讨书
2014/02/21 职场文书
2014年幼儿园植树节活动方案
2014/03/02 职场文书
小学生校园广播稿
2014/09/28 职场文书
解除处分决定书
2015/06/25 职场文书