真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

getElementXXX()函數(shù)怎么在TypeScript中使用

getElementXXX()函數(shù)怎么在TypeScript中使用?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

10年積累的網(wǎng)站設計制作、做網(wǎng)站經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先制作網(wǎng)站后付款的網(wǎng)站建設流程,更有桂東免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

html文件:






something happen!
anything ok!

我現(xiàn)在要通過TypeScript獲取上面任意一個DOM元素,怎么做?有JS基礎都知道,操作DOM可以通過 document 完成:

// 由于DOM元素的ID是惟一的,所以這種方式獲取的是唯一的DOM元素
dom = document.getElementById('infoInput');

// name屬性是不唯一的,所以這種方式獲取的是所有 name=infoInput 的DOM元素,即一個數(shù)組
dom1 = document.getElementsByName('infoInput');

而在TypeScript中當然也可以這么做,但是在具體使用的時候除了需要聲明變量保存獲取到的DOM元素之外,還有一點小小的問題。

// Angular框架中
export class Some implements OnInit {
 ngOnInit() {
  let dom = document.getElementById('infoArea');
  // 1. 獲取輸入框中的內容
  let html = dom.innerHTML;
  let val = dom.value;

  // 2. 打印輸出
  console.log(html);
  console.log(val);
 }
}

這段代碼寫完會報一個錯:

Property 'value' does not exist on type 'HTMLElement' 不要緊,即使有錯誤提示,我們依舊可以運行并得到正確的結果。如果想在ts文件編譯失敗時不生成js文件,可以通過配置實現(xiàn)。

HTMLElement是什么?這是一個對象,它包含了所有HTML元素公有的屬性。

關于HTMLElement的詳細內容以及瀏覽器的兼容,可以查看MDN的這篇文章

來看一張圖:

getElementXXX()函數(shù)怎么在TypeScript中使用

圖源自nanaistaken的博客。

如果你恰好有一點面向對象編程的知識,那么這張圖就很容易理解,沒有也沒關系,畢竟無論是js還是ts,現(xiàn)在都增加了class關鍵字,引入了類的思想。

經(jīng)過上面的分析,我們能夠知道: getElementXXX() 返回的是一個HTMLElement對象,而這個對象包含了所有DOM元素的公有屬性。而每種不同類別的DOM元素,又有自己的特性,也就是圖中的子類。

ts會做編譯檢查,所以會有錯誤提示,而js則不檢查,所以這也會留下安全隱患。

到這里,其實應該已經(jīng)明白了現(xiàn)在這種情況該怎么解決以及以后該怎么使用getElementXXX函數(shù)了。

修改后的代碼:

export class Some implements OnInit {
 ngOnInit() {
  // *. 做一次類型轉換,或者做類型斷言
  let dom = document.getElementById('infoArea');
  let dom1 = document.getElementById('infoArea') as HTMLElement;

  // 1. 獲取輸入框中的內容
  let html = dom.innerHTML;
  let val = dom.value;

  // 2. 打印輸出
  console.log(html);
  console.log(val);
 }
}

關于getElementXXX()函數(shù)怎么在TypeScript中使用問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。


本文名稱:getElementXXX()函數(shù)怎么在TypeScript中使用
文章位置:http://weahome.cn/article/psdshg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部