千家信息网

Angular中如何操作DOM元素

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"Angular中如何操作DOM元素",在日常操作中,相信很多人在Angular中如何操作DOM元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Ang
千家信息网最后更新 2026年11月02日Angular中如何操作DOM元素

这篇文章主要介绍"Angular中如何操作DOM元素",在日常操作中,相信很多人在Angular中如何操作DOM元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Angular中如何操作DOM元素"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在angular获取DOM元素可以使用javascript的原生API,或者引入jQuery通过jquery对象操作DOM,但angular已经给我们提供了相应的API(ElementRef)来获取DOM元素,就没必要使用原生的API或者jQuery了。【相关教程推荐:《angular教程》】

ElementRef 获取DOM元素

1、创建TestComponent组件,模板如下:test.component.html

你好

世界

标题

组件

2、编写test.component.ts文件

import { Component, OnInit } from '@angular/core';// 1、导入 ElementRef 类import { ElementRef} from '@angular/core';import { PassBadge } from './compoment/pass-badge/pass-badge.component'@Component({  selector: 'app-test',  templateUrl: './test.component.html',  styleUrls: ['./test.component.css'],  declarations: [ PassBadge ]})export class TestComponent implements OnInit {        // 2、将 ElementRef 类注入 test 组件中    constructor(private el:ElementRef) {}    ngOnInit() {            // 3、获取 DOM 元素        console.log(this.el.nativeElement)        console.log(this.el.nativeElement.querySelector('#component'))    }}

我们来看看this.el.nativeElement是什么


所以就可以通过this.el.nativeElement.querySelector('#component')来操作对应的DOM元素。例如改变文字颜色就可以

this.el.nativeElement.querySelector('#component').style.color = 'lightblue'

模板变量获取DOM元素

可以通过ViewChild获取组件,同样的还有ContentChild,ViewChildren和ContentChildren

1、修改TestComponent组件,为对应元素加上模板变量,如下

你好

世界

标题

组件

2、修改test.component.ts,如下:

import { Component, OnInit } from '@angular/core';import { ElementRef} from '@angular/core';// 2、引入ViewChildimport { ViewChild } from '@angular/core'@Component({  selector: 'app-test',  templateUrl: './test.component.html',  styleUrls: ['./test.component.css']})export class TestComponent implements OnInit {    constructor(private el:ElementRef) {}    // 3、获取元素    @ViewChild('component') dom: any;    @ViewChild('div') div: any;    ngOnInit() {        console.log(this.dom)   // PassBadgeComponent        this.dom.fn()   // 调用 passbadge 组件的 fn 方法        console.log(this.div)   // ElementRef        this.div.nativeElement.style.color = 'lightblue'      // 文字颜色修改为淡蓝色    }}

最终结果如下

由结果我们可以知道,当使用ViewChild模板变量获取组件元素时,获取到的是组件导出的组件类(上例是PassBadgeComponent),这时候只可以操作组件中含有的属性。

当使用ViewChild模板变量获取html元素时,获取到的时ElementRef类型的类,这时可以通过this.div.nativeElement.querySelector('span')等原生API来操作元素

到此,关于"Angular中如何操作DOM元素"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

元素 组件 模板 变量 学习 可以通过 世界 你好 教程 文字 方法 更多 标题 结果 颜色 帮助 实用 必要 接下来 对象 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京路客互联网科技有限公司 朗新科技与工业互联网 奇酷互联网科技 礼当家互联网科技 易通互联网络科技有限公司 人人互联网科技是培训 山东吉时兔互联网科技有限公司 开启互联网科技时代小说 科技与互联网的利与弊 宝灵互联网科技有限公司 语蝶互联网科技有限公司 区块链结合互联网科技 深圳互联网科技的发展 互联网领先科技宣传片 本届互联网大会上的黑科技 互联网与数字科技关系 科技互联网行业投资研究 互联网科技新闻 玉溪新华互联网科技怎么选 网互联网络科技 壹账通互联网科技 天扬科技互联网广告 老年人脱离互联网科技的作文 昭通云南众福互联网科技有限公司 互联网科技创新服务 浙江互联网科技研学营 四川互联网展示科技馆设计 领航科技大厦互联网公司 普陀区互联网教育科技管理办法 北京瑞云互联网科技有限公司
0