P粉8271215582023-08-15 10:45:51
Demo指的是具有id“demo”的段落。您可以使用id(在整个HTML页面中必须是唯一的)来识别和使用javascript中的html标签。
document.write确实不再经常使用。有多个原因。由于在网络上有很好的解释,请查看这些答案或这篇文章。
如果您添加一些缺失的标签,如</head>
,<body>
和<script>
,您的代码将正常工作,并且控制台日志正在发生。在下面的代码片段中运行。
作为附注,现在的最佳实践是在关闭</body>
标签之前,在页面底部进行javascript处理和加载。因为任何加载都发生在DOM加载之后。
function addNumbers(arr) { var i, answer = 0; for (i = 0; i < arr.length; i++) { answer += arr[i]; } return answer; } var myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9]; document.getElementById("demo").innerHTML = addNumbers(myArray); console.log(addNumbers(myArray))
<html> <head> </head> <body> <h4> Function addNumbers: </h4> <p id="demo">This is a paragraph that can be identified using the id attribute.</p> </body> </html>
P粉7574324912023-08-15 09:16:35
退一步,向前迈两步:
document.write
是三个函数之一
document.open()
打开一个文档以从头开始写入,如果存在任何内容,则删除现有文档内容。document.write( string)
将字符串插入用于构建网页的字符流中。document.close()
关闭一个文档以进行写入。进一步的写入将重新打开文档并在此过程中清除现有内容。现在考虑以下事项
document.open/write/close
在DOM标准化和可用之前就已经存在。因此,document.write
在现代Web编程中几乎没有用处。如果在页面加载完成后使用,它会清除页面内容。它几乎完全限于学生教程,这些学生尚未学习到DOM的存在,以及在使用window.open
打开的子窗口中以编程方式编写内容时偶尔使用。
页面中的所有HTML元素在DOM中作为HTMLelement节点存在。可以通过调用诸如document.getElementById
或document.querySelector
之类的方法来访问这些元素,并作为JavaScript对象值返回。HTMLElement根据标签类型而异,但如果它们表示HTML容器元素,则具有诸如innerHTML
和textContent
之类的属性,当使用脚本中的文本字符串进行更新时,会更改呈现页面的内容。
回答你的问题,“demo”是HTMLParagraphElement的id值,其中id值用于访问DOM中的特定元素 - id
值在页面HTMLElements中应该是唯一的。
通过使用document.getElementById
查询DOM可以获取(段落)元素对象。随后更改元素的innerHTML
内容会导致文档重新呈现新内容,更新页面的显示。