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 相关文章推荐
番茄的表单验证类代码修改版
Jul 18 Javascript
Extjs学习笔记之七 布局
Jan 08 Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
js获取多个tagname的节点数组
Sep 22 Javascript
使用javascript为网页增加夜间模式
Jan 26 Javascript
自己使用jquery写的一个无缝滚动的插件
Apr 30 Javascript
javascript对浅拷贝和深拷贝的详解
Oct 14 Javascript
Vue异步加载about组件
Oct 31 Javascript
webpack 单独打包指定JS文件的方法
Feb 22 Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 Javascript
layui数据表格跨行自动合并的例子
Sep 02 Javascript
vue watch监控对象的简单方法示例
Jan 07 Vue.js
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 ctype函数中文翻译和示例
2014/03/21 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
JS动画效果代码3
2008/04/03 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
2019/08/16 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
python实现超市扫码仪计费
2018/05/30 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
python中p-value的实现方式
2019/12/16 Python
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
广告设计应届生求职信
2014/03/01 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
小学假期安全广播稿
2014/09/28 职场文书
认错检讨书
2014/10/02 职场文书
先进个人自荐书
2015/03/06 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
5行Python代码实现一键批量扣图
2021/06/29 Python