Angular2+ 獲取、操作DOM元素
前言
angular中在’@angular/core’
庫中通過提供Renderer2
和ElementRef
中實現了有關於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