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 相关文章推荐
js电信网通双线自动选择技巧
Nov 18 Javascript
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
jQuery 幻灯片插件(带缩略图功能)
Jan 24 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
Apr 17 Javascript
容易造成JavaScript内存泄露几个方面
Sep 04 Javascript
jQuery插件datepicker 日期连续选择
Jun 12 Javascript
jquery仿百度百科底部浮动导航特效
Aug 08 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
Sep 23 Javascript
JavaScript设计模式之单例模式详解
Jun 09 Javascript
React Native之prop-types进行属性确认详解
Dec 19 Javascript
微信小程序后端实现授权登录
Feb 24 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
PHP注释实例技巧
2008/10/03 PHP
php Try Catch异常测试
2009/03/01 PHP
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
PHP会话控制实例分析
2016/12/24 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
解放web程序员的输入验证
2006/10/06 Javascript
读jQuery之一(对象的组成)
2011/06/11 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
Python中的日期时间处理详解
2016/11/17 Python
python的exec、eval使用分析
2017/12/11 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
Python 在局部变量域中执行代码
2020/08/07 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
自学考试自我鉴定范文
2013/09/26 职场文书
在校学生职业规划范文
2014/01/08 职场文书
党员作风建设自查报告
2014/10/23 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis