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了。


相关文章
|
3月前
|
JavaScript 前端开发 容器
用HTML DOM实现有条件地渲染网页元素(上)
用HTML DOM实现有条件地渲染网页元素(上)
|
3月前
|
存储 JavaScript 前端开发
用HTML DOM实现有条件地渲染网页元素(下)
用HTML DOM实现有条件地渲染网页元素(下)
|
1月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
1月前
|
JavaScript 前端开发
|
2月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
79 4
|
1月前
|
JavaScript 前端开发 API
|
2月前
|
JavaScript
在Vue中获取DOM元素的实际宽高
【10月更文挑战第2天】
339 1
|
3月前
|
JavaScript 前端开发
JavaScript HTML DOM 元素 (节点)
JavaScript HTML DOM 元素 (节点)
28 2
|
3月前
|
前端开发 JavaScript
前端基础(七)_DOM元素获取(getElementById、getElementsByTagName、getElementsByClassName、querySelector等)
本文介绍了如何在前端通过不同的方法获取DOM元素,包括getElementById、getElementsByTagName、getElementsByClassName、querySelector和querySelectorAll。
147 3
|
3月前
|
JavaScript
Vue3基础(十wu)___ref获取原生dom元素
本文介绍了Vue3中使用`ref`来获取和操作原生DOM元素的方法,通过示例展示了如何通过`.value`改变元素的样式。
59 0
Vue3基础(十wu)___ref获取原生dom元素