DOM操作元素

简介: 操作元素前言前面说过,网页三件套中,HTML负责网页的框架,CSS负责网页的样式,而JavaScript负责网页的行为。在JavaScript中,我们可以通过DOM来操作网页中的元素,比如获取元素,修改元素,添加元素,删除元素等。这就是JavaScript操作网页行为的一种体现。

操作元素

前言

前面说过,网页三件套中,HTML负责网页的框架,CSS负责网页的样式,而JavaScript负责网页的行为。

在JavaScript中,我们可以通过DOM来操作网页中的元素,比如获取元素,修改元素,添加元素,删除元素等。这就是JavaScript操作网页行为的一种体现。

流程

与前面事件执行流程类似,操作元素也是通过事件触发,然后执行对应的操作。

首先获取事件源,然后将事件源与世界类型进行绑定,最后通过函数的方式执行。

那我们可以通过操作元素,达到一些什么样的效果呢?

接着往下面看吧。

改变元素文本内容

方式一:

element.innerHTML = "新的内容";
替换起始位置和终止位置的内容,包括html标签;同时空格和换行会被保留。
复制代码

方式二:

element.innerText = "新的内容";
替换起始位置和终止位置的内容,但是它会自动删除html标签,同时空格和换行也会被删除。
复制代码

两者的区别:

1. innerHTML可以获取元素中的html标签,而innerText不可以。
2. innerHTML可以获取元素中的空格和换行,而innerText不可以。
3. innerHTML可以设置元素中的html标签,而innerText不可以。innerText不能识别html标签,所以设置的时候,会将html标签当做普通文本显示。
复制代码

改变元素样式

通过js我们可以改编元素的大小,位置,颜色等等。

  1. 如果修改的元素样式比较少,我们可以通过element.style.属性名 = "属性值"的方式来修改。 element.style.属性 = "样式属性值"; 例如:div.style.color = "red";

此时修改的样式产生的是行内样式,css权重比较高。

  1. 如果修改元素的样式位于css文件中同时又比较多,我们可以通过element.className = "类名"的方式来修改。 element.className = "新的类名"; 例如:element.className = "red";

使用方法:

  1. 在css文件中定义一个类,例如:.red{color:red;}
  2. 在js中,我们通过element.className = "red"的方式来修改元素的样式。
  3. 最后实现效果

例子:

<style>
        .red{
            color: red;
        }
    </style>
复制代码
<div>123123<div>
复制代码

我们通过js将red类在div被点击之后添加上去。

let redClass = document.querySelector('div');
    redClass.onclick = function(){
        this.className = 'red';
    }
复制代码

这种方法适用于需要修改样式过多或者过于复杂的情况。

注意:className会直接覆盖掉原来的元素类名,也就是原来的样式将会丢失。

如果想要保留原来的样式,可以这样做:element.className = '原来的样式类名 后面我们添加的样式类名',也就是多类名选择器。

改变元素属性

在html中,我们可以通过属性来设置元素的一些属性,比如id,class,src,href,alt,title等。

element.属性 = "新的属性";
例如:img.src = "新的图片路径";
复制代码

这些都是普通标签的元素操作,在html中有一类特殊的标签:表单标签

表单元素:type,value,checked,selected,disable
复制代码

这些元素要如何进行操作呢?

<input type = "text" value = "123123">
复制代码

这里有一个输入框,我们来改变里面元素的内容:

let input = document.querySelector("input");
input.onclick = function(){
    input.value = "新的内容";
}
复制代码

这里我们就不能使用innerHTML或者innerText了。


相关文章
|
20天前
|
XML JavaScript 前端开发
哇塞!Web 前端惊现 DOM 元素神操作,一场惊心动魄的网页变革,你准备好了吗?
【8月更文挑战第23天】在Web前端开发中,熟练操作DOM元素至关重要。DOM作为一种编程接口,将HTML/XML文档表示为节点树,便于使用JavaScript访问及修改文档内容与结构。
40 0
|
20天前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
33 1
|
20天前
|
JavaScript 前端开发 API
前端开发者的救赎:揭秘JQ对象与DOM元素的神秘转换术
【8月更文挑战第23天】在Web前端开发领域,jQuery(简称JQ)作为一款流行的JavaScript库,极大简化了HTML文档遍历、事件处理、动画及Ajax交互等操作。理解和掌握jQuery对象与DOM元素间的转换至关重要。
25 0
|
27天前
|
JavaScript 前端开发
DOM的概念?获取html元素的方法有哪些?
DOM的概念?获取html元素的方法有哪些?
27 0
|
28天前
|
JavaScript 前端开发 API
如何访问 DOM 中的元素
如何访问 DOM 中的元素
16 0
|
28天前
|
JavaScript
如何在 Angular 中使用 ViewChild 来访问子组件、指令或 DOM 元素
如何在 Angular 中使用 ViewChild 来访问子组件、指令或 DOM 元素
13 0
|
3月前
|
JavaScript 前端开发 UED
JavaScript基础-DOM操作:查找、创建、修改
【6月更文挑战第12天】本文介绍了DOM基础,包括查找元素(getElementById、getElementsByClassName等)、创建新节点(createElement、createTextNode)和修改节点(innerText、innerHTML、setAttribute等)。强调了易错点,如ID唯一性、性能考量和安全问题,并提供了代码示例。熟练掌握DOM操作对前端开发至关重要,但应注意性能优化,适时使用框架或库。
46 2
JavaScript基础-DOM操作:查找、创建、修改
|
3月前
|
JavaScript 前端开发
DOM操作有哪些方法可以改变元素的样式?
【6月更文挑战第30天】DOM操作有哪些方法可以改变元素的样式?
22 2
|
3月前
|
JavaScript 前端开发 开发者
DOM操作
【6月更文挑战第30天】DOM操作
24 1
|
2月前
|
JavaScript 前端开发 API
前端框架与库 - jQuery基础与DOM操作
【7月更文挑战第18天】jQuery 是一个简化JavaScript任务的库,以其“write less, do more”理念著称。核心功能包括DOM操作、事件处理和Ajax。DOM操作如选择元素(`$(&quot;p&quot;)`、`$(&quot;#myDiv&quot;)`、`$(&quot;.myClass&quot;)`)、创建及添加元素、修改属性和内容。事件处理如绑定(`click`)和触发(`trigger`)。常见问题涉及`$`符号冲突(使用`jQuery`代替)、异步加载管理和选择器性能优化。了解并规避这些问题能提升jQuery使用效率。
22 0