[英]Intellisense autocompletion for Javascript in VS Code not working
[英]VS Code Intellisense for JavaScript is not working?
我正在嘗試遍歷一堆按鈕,以便為每個按鈕提供一個事件偵聽器,一旦我單擊它們中的任何一個,它就會更改背景顏色,但是 vs code 的 IntelliSense 不會自動完成我正在尋找的所需屬性。風格。
const buttons = document.querySelectorAll('btn');
for(let button of buttons) {
button.addEventListener('click', () => {
button.*style.backgroundColor* = 'red';
})
}
HTML
<body>
<section id="container">
<button class="btn">Click me</button>
<button class="btn">Click me</button>
<button class="btn">Click me</button>
<button class="btn">Click me</button>
</section>
<script src="app.js"></script>
</body>
VS Code intellisense 不會推薦斜體的 code.style 和.backgroundColor
它發生在塊和 scope 級別以及全球級別。
問題是document.querySelectorAll
被指定給你一個包含Element
對象的NodeList
,一個通用的基礎 class。 因此,就 JavaScript IntelliSense 可以推斷而言,每個button
只是Element
的一個實例。 但是style
屬性存在於HTMLElement
上。 因此,您需要“告訴” IntelliSense 引擎buttons
將成為HTMLElement
的NodeList
,您可以使用 JSDoc 來完成:
/** @type {NodeListOf<HTMLElement>} */
const buttons = document.querySelectorAll('btn');
for(let button of buttons) {
button.addEventListener('click', () => {
button.style.backgroundColor = 'red';
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.