DOM修改元素的方法总结
今天我们要谈谈DOM元素的修改(包括修改内容,属性,样式)。
修改内容的方法----3种:
elem.innerHTML:获取或设置元素开始标签到结束标签之间的原始HTML代码片段;
elem.textContent:获取或设置元素开始标签到结束标签之间的纯文本内容---要考虑兼容性问题IE9+;
获取表单元素的内容:value;
修改属性的方法----2种
1. 核心DOM:操作一切结构化文档的API(HTML,XML)
elem.getAttribute();elem.setAttribute(attr,..);
判断是否包含属性:elem.hasAttribute();
移除属性:elem.removeAttribute();
2. TML DOM:对部分常用DOM的简化版本;---这种常用
获取属性值:elem.属性名;
修改属性值:elem.属性名= '值';
判断是否包含属性:elem.属性名===''不包含;
移除属性:elem.属性名='';
我们常在表单元素中遇到三大状态属性:selected checked disabled;
不过我们无法使用DOM核心来操作这些状态属性,因此我们需要使用HTML DOM方法:
使用HTML DOM可以操作三大状态。(elem.disabled;elem.selected;elem.checked)值是布尔值;
3. 代码的维护性:
后续再更改网站样式的时候,如果样式比较多,首选使用类,然后把类添加到内容里面;这样便于代码的维护性。
4. 添加和删除
创建空元素:var aa =document.createElement('a');
aa.href ='www.baidu.com';
aa.innerHTML ='G';
1.末尾追加document.body.appendChild(aa);需要添加到body中;
2.中间插入:parent.insertBefore(newTarget,oldtarget)
3.替换:parent.replaceChild(child,oldChild);
优化:
尽量少的修改DOM树
原因:页面加载过程中,尽量少的修改DOM,每次修改,都会导致DOM树的重排和重绘,这样会对性能造成影响;
html ---------DOM Tree
丨
render Tree(圣诞树)----每次修改DOM树,都会导致DOM树的重新计算高度和宽度;
丨
css-----------css样式。
DOM修改元素的方法总结的更多相关文章
- Dom修改元素样式
提纲:我们可以通过js来修改元素的大小,颜色,位置等样式 1.element.style 行内样式的操作 2.element.className ...
- DOM获取元素的方法
DOM:document object module 文档对象模型 DOM就是描述整个html页面中节点关系的图谱,如下图. 1,通过ID,获取页面中元素的方法:(上下文必须是document) do ...
- DOM查找元素的方法总结
按HTML查找:优点:范围可大可小,可设置条件:包括五种方式:1.按id查找:2.按标签名查找:var elems = parent.getElementsByTagName('');3.按name属 ...
- 如何使用StarUML for Mac创建和修改元素
StarUML for Mac是一款UML软件建模器,支持快速编辑中的许多缩写,一次创建元素和关系,如子类,支持接口等.如何使用StarUML for Mac创建和修改元素?下面我们来介绍一下. 如何 ...
- dom元素和方法总结
主要是参考<精通javascript>. 全局变量有: document.这个变量包含浏览器的html dom文档的引用. HTMElement 这个变量是所要html dom 元素的超类 ...
- JS----获取DOM元素的方法(8种)
什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 ...
- DOM 修改与DOM元素
㈠HTML DOM - 修改 修改 HTML = 改变元素.属性.样式和事件. ①创建 HTML 内容 改变元素内容的最简单的方法是使用 innerHTML 属性. 下面的例子改变一个 <p ...
- 使用原生js来控制、修改CSS伪元素的方法总汇, 例如:before和:after
在网页中,如果需要使用辅助性/装饰性的内容的时候,我们不应该直接写在HTML中,这样会影响真正的内容,这就需要使用伪元素了,这是由于css的纯粹语义化是没有意义的.在使用伪元素的时候,会发现js并不真 ...
- DOM获取元素、修改元素
## DOM获取元素.修改元素### 1.DOM#### ①什么是DOM?作用? > DOM是文档对象模型 > 作用:操作网页内容,可以开发网页内容特效和实现用户交互.#### ②DOM对 ...
随机推荐
- java 在线拆分 word文档采用什么技术比较好?
在Java项目开发中,偶尔会遇到通过程序动态拆分word文档的需求,由于Java本身不能操作Word文档,在网上也都是讨论如何动态合并word,所以这个需求实现起来相当困难,下面就将近期对于Word文 ...
- 023-linux(2)
1. head 查看文件的前N行 -n ,表示查看前几行 head - test.txt 2. tail 查看文件的后N行 -n,表示查看文件的后几行 tail - test.txt -f(循环读取) ...
- Spring cloud properties与yml配置说明
encrypt说明 名称 默 认 描述 encrypt.fail-on-error true 标记说,如果存在加密或解密错误,进程将失败. encrypt.key 对称密钥.作为一个更强大的替代方案, ...
- struts2-环境搭建-访问流程-配置详解-常量配置-类详解
1 struts2概述 1.1 概念 1.2 struts2使用优势 自动封装参数 参数校验 结果的处理(转发|重定向) 国际化 显示等待页面 表单的防止重复提交 struts2具有更加先进的架构以 ...
- osg如何设置抗锯齿(反走样,反锯齿)
首先抗锯齿是什么? 举个最简单的例子 你用windows画图软件画一根直线(准确说这个叫做线段),当水平或者垂直的时候,如下图,这是绝对完美的 但是当线段出现倾斜时,就无法做到完美了此时就会出现锯齿 ...
- ubuntu 环境下向GitHub上传(push)每次都需要用户名密码问题
这里使用的系统环境是ubuntu16.04,通过Git向GitHub仓库pull/push,使用https方式每次都需要输入用户名和密码,是解决此问题的方法. 一.应该确保你的系统上已经安装了Git ...
- Ionic Cordova 环境配置window
1.安装java jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.安 ...
- Django项目:CRM(客户关系管理系统)--49--40PerfectCRM实现全局账号注册+验证码+页面刷新保留信息
# gbacc_urls.py # ————————38PerfectCRM实现全局账号登录注销———————— from django.conf.urls import url from gbacc ...
- bzoj 1034 [ZJOI2008]泡泡堂BNB——贪心
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1034 原来觉得和 bzoj4977跳伞求生 有点像(虽然还没做). 所以对于a[ ]从小到大 ...
- poweroj1745: 餐巾计划问题
传送门 最小费用最大流. 每天拆成两个点,i表示用完的餐巾,i+n表示干净的餐巾. s向i连容量为ri费用为0的边,表示每天用脏的ri条餐巾. i+n向t连容量为ri费用为0的边,表示每天需要用ri条 ...