1. 程式人生 > >Angular2+ 獲取、操作DOM元素

Angular2+ 獲取、操作DOM元素

前言

    angular中在’@angular/core’庫中通過提供Renderer2ElementRef中實現了有關於DOM的操作,但是,angular中不推薦直接操作dom元素,通過變數結合內建指令是當前操作DOM的最好實踐

獲取DOM元素

    1、通過模板變數名獲取單個DOM元素

        @ViewChild 通過模板變數名獲取DOM元素
        ViewChild是屬性裝飾器,用來從模板檢視中獲取匹配的元素。檢視查詢在 ngAfterViewInit 鉤子函式呼叫前完成,因此在ngAfterViewInit鉤子函式中,才能正確獲取查詢的元素。

import { Component, ViewChild, AfterViewInit } from '@angular/core';

@Component({
  selector: 'my-app',
  template: `
    <h1>Welcome to Angular World</h1>
    <p #greet>Hello {{ name }}</p>
  `,
})
export class AppComponent {
  name: string = 'Semlinker';

  @ViewChild('greet')
  greetDiv: ElementRef;

  ngAfterViewInit() {
    console.log(this.greetDiv.nativeElement);
  }
}

    2、通過ElementRef獲取DOM元素

        通過css選擇器獲取單個DOM 並設定屬性

import { ElementRef} from '@angular/core';
export class AppComponent {
  constructor( private el:ElementRef){}
  ngOnInit(){
    console.log(this.el.nativeElement);
    this.el.nativeElement.querySelector('.btn1').style.height = '300px';
  }
}

        通過css選擇器獲取多個DOM 並設定屬性

import { ElementRef} from '@angular/core';
export class AppComponent {
  constructor( private el:ElementRef){}
  ngOnInit(){
    console.log(this.el.nativeElement);
    this.el.nativeElement.querySelectorAll('.btn').forEach(element =>{
    		element.style.height = '300px';
    })
  }
}

    3、通過Renderer2獲取元素

import { Renderer2} from '@angular/core';
export class AppComponent {
  constructor( private render2: Renderer2){}
  ngOnInit(){
    const child = this.render2.selectRootElement(".div1");
        console.log(child);
    }
}

操作DOM元素

相關推薦

Angular2+ 獲取操作DOM元素

前言     angular中在’@angular/core’庫中通過提供Renderer2和ElementRef中實現了有關於DOM的操作,但是,angular中不推薦直接操作dom元素,通過變數結合

JQuery 中this和$(this)獲取對象操作DOM對象的元素屬性

class 獲取對象 clas details 對象 query 操作 active html $(‘.button‘).click(function () { var active = $(‘.buttons-tab a‘).children(‘input‘).at

Vue中獲取操作元素DOM

在使用Vue的時候,有時候我們希望直接用Js操縱DOM來實現某些效果,具體實現只用利用Vue提供的ref屬性以及this.$refs即可實現。下面放一個小DEMO! <!DOCTYPE html

子頁面同域跨域時互相操作dom元素

注意,同域或跨域下,父頁面要操作子頁面的dom元素,必須要等到子頁面載入完畢,否則獲取不了子頁面的document,因此我們需要監聽子頁面的onload事件,或者監聽父頁面的onload事件也可以

Dojo操作dom元素的樣式

resource isp .html document tco cati move 替換 nta 1.使用dom-style的set方法,可以直接設置dom元素的樣式屬性,這和使用dom元素的style屬性效果一樣。 2.使用dom-class的replace方法可以替換某

JQuery動態創建刪除DOM元素

追加 first 其他 before link AI pen ext 追加元素 動態創建Dom節點 1.使用$(html字符串)來創建Dom節點 2.append方法用來在元素的末尾追加元素 3.prepend,在元素的開始添加元素。 prepend

26 Jquery 操作DOM元素

play ima 操作 技術 https title color src info 26 Jquery 操作DOM元素

微信小程式操作dom元素節點 wx.createSelectorQuery()

WXML <view> <text class="title" id="productServe">產品服務</text> <text class="title" id="enterpriseServe">企業服務</text

通過$ref來操作DOM元素和元件

要點: 這裡的$ref相關的操作就是為了避免操作DOM,Vue提供的方案。效果等同於原生的id,然後操作 HTML程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta ch

沒有id沒有name iframe中獲取iframe本身dom元素

var iframe_id = "iframe_"+Math.random()*10000;//定義一個隨機數 $(document.body).attr("random",iframe_id);//設定屬性

第四章使用jQuery操作DOM元素

一、DOM的分類: 1.DOM core 2.HTML-DOM 3.CSS-DOM 二、css操作 語法: $("#div1").css(“color”,“red”); $("#div1").css({“color”:“red”,“margin”:“5px”}); //新增樣式 $("#

jQuery操作DOM元素案例

直接開啟註釋即可觀察效果,都已經測試通過!!! <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>操作DOM元素</title>

php通過Xpath獲取CSDN的Dom元素

Xpath的Dom分析真的比自己寫正則去匹配Dom要高效很多,而要使用php的XpathDom,這裡我使用的是Wamp,要開啟php配置的extensions的openSSL,否則在獲取網頁的Dom時會報錯,然後我們所需的某個元素的Xpath可以通過瀏覽器,例如谷歌瀏覽器和火

JS操作DOM元素屬性和方法

Dom元素基本操作方法API,先記錄下,方便以後使用。    W3C DOM和JavaScript很容易混淆不清。DOM是面向HTML和XML文件的API,為文件提供了結構化表示,並定義瞭如何通過指令碼來訪 問文件結構。JavaScript則是用於訪問和處理DOM的語言。

JavaScript操作DOM元素中的class屬性

在互動性較強的Web應用中,經常需要動態更改指定元素的屬性值,假設變數e是頁面中一個元素的引用,根據W3C DOM標準,可以在JavaScript中使用e.getAttribute('屬性名')來取得屬性的值,並且用e.setAttribute('屬性名', '值')來設定屬

Jquery獲取和修改dom元素的屬性值

獲取內容的方式: - text()、html() 以及 val() 三個簡單實用的用於 DOM 操作的 jQuery 方法: text() - 設定或返回所選元素的文字內容 html() - 設

jquery實現級聯遇到的ajax同步請求動態DOM元素監聽事件

記錄一次實現級聯選單選項遇到的一系列問題 實現動態生成select下拉選項 json資料格式example: [ { "eventTyp

React 操作DOM元素的兩種方式

1. 使用選擇器 var Btn = document.getElementById('btn') ReactDom.findDOMNode(Btn).style.color = 'red' 2

Js原生操作DOM元素並改變標籤內容

根據標籤名操作DOM元素<h1>你好<h1>var jsh1TagName = document.getElementsByTagName('h1');//獲取頁面上h1標籤co

JS/JQuery操作DOM元素筆記

一個 tps 但是 節點和 不能 空白 是的 所有 選中 自己目前在搭建一個.NET Core的框架,正在構建權限這塊的東西,今天設置權限界面,需要使用JavaScript操作DOM元素,記錄一下。 頁面大概是醬紫的(我使用的AdminLTE和LayUI,AdminLTE