這就是所謂的DOM操作 - 爲他人提及。你所做的是,你是否將一個JavaScript對象表示爲HTML文檔中的一個元素,然後修改一個屬性或調用一個方法來操縱它。
在這裏,您想更改其中的文字。 innerHTML
屬性允許您將p
標記中的HTML設置爲任何你想要的。這是你的第一選擇。
您的第二個選擇是使用textContent
屬性,現在它的工作方式類似於innerHTML
屬性,但它避免了像XSS攻擊這樣的問題:您無法使用此屬性注入HTML。
由於上述安全優勢,我推薦第二個選項。
現在,讓我們找到獲取表示段落元素的對象的方法。你要這樣做的方法是取一個現有的對象,代表整個文檔,然後使用方法選擇它的一個孩子。
該預先存在的內置於JavaScript的對象是document
。現在,要獲取具有特定ID的元素,可以調用其方法getElementById(id)
。這是我推薦的方法。
其他方法來抓取您的段落對象可能是getElementByQuerySelector(cssSelector)
這需要一個CSS選擇器(在這種情況下,#stuff
。
這樣,最終的解決辦法是:
document // our whole document
.getElementById("Stuff") // just our paragraph
.textContent // what's inside it
= helloWorld() // result of funct.
在一條線,這看起來像
document.getElementById("Stuff").textContent = helloWorld();
的注意事項,以及:
- 與資本開始您的ID信是不尋常的。在JavaScript中,人們通常使用camelCase編寫,其中第一個單詞以小寫字母開頭,後面的每個單詞都以大寫字母開頭(例如
iLikeToEatCows
)。有了這種一致性,程序員就可以聽到「好的,所以ID是myparagraph」,並且能夠以相當確定的方式編寫myParagraph
。但當然,這是可選的。
來源
2017-05-27 21:44:15
Max
該過程稱爲DOM操作。請谷歌和檢出Javascript DOM API併發布您嘗試的解決方案。 – iamkhush
我試過使用document.getElementById('stuff')。innerHTML = HelloWorld()沒有成功。 –
@FrankieD。因爲ID是'Stuff',大寫'S'。 –