这就是所谓的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'。 –