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对 ...
随机推荐
- Django项目:CMDB(服务器硬件资产自动采集系统)--09--06CMDB测试Linux系统采集硬件数据的命令04
root 123456 ip addr init 0 root 123456 ip addr root 123456 python3 yum -y install zlib-devel bzip2-d ...
- [转]模块化——Common规范及Node模块实现(二)
模块的循环加载 如果发生模块的循环加载,即A加载B,B又加载A,则B将加载A的不完整版本. // a.js exports.x = 'a1'; console.log('a.js ', require ...
- myeclipse 配置resin
一.新建web project 二.配置本地resin 创建resin/conf/test.conf文件(可从resin.conf copy)中修改 <web-app id="/&qu ...
- vim中利用swp文件进行恢复
经常电脑因为没电或者强行关闭vim,会导致原文件没有保存, 这种情况下vim会自动保存一个.swp文件,需要恢复时, 使用vim -r filename 期中-r意思为recovery 恢复之后最好删 ...
- VS C++/ClI调用C++ 外部Dll无法查看变量值
C#项目调用C++/ClI项目,C++/ClI项目又引用了外部C++ dll时 C++/CLI代码中在调试时无法查看native 变量的值 解决方法:C#项目右键属性-->Debug--> ...
- MyBatis与JPA的区别是什么
MyBatis分为全注解版和xml版:全注解版适合于小项目,直接在方法上加注解,在注解中写sql 仓储Repository 模式是领域驱动设计中另一个经典的模式.在早期,我们常常将数据访问层命名为:D ...
- Spring-session整合到Redis
闲来无事,学习一下spring的session管理,作为一个初学者,我了解到了如下内容: 1.为何要用Spring-session 在传统单机web应用中,一般使用tomcat/jetty等web容器 ...
- 用py3的nonlocal来打破局部变量间的作用域
nonlocal:用于局部变量,找上层中离当前函数最近一层的局部变量,找到为止,如果在全局找到或找不到,报错. 使用场景:内层函数对外层数据修改/处理
- 855. Exam Room
维护一个数据结构要满足:一个教室线性排列的座位 0 ... N-1 调用seat 入座一个距离最近学生最远的座位 调用leave x 离座一个位置为x的学生 由于N最多是 10e9 所以选择维护 学生 ...
- react-native连接华为真机
android studio的设置:下载google USB Driver 手机部分1.找到手机开发者模式 设置->系统->关于手机->版本号(多次点击出现开发者模式) 提示你已在开 ...