为什么javascript会覆盖Html代码?
Why does javascript overwrite Html codes
我刚刚开始学习javascript,我的问题是关于javascript的非常基本的问题,但我必须学习它背后的逻辑。
<p id="demo">This is a paragraph.</p>
<script type="text/javascript">
document.getElementById("demo").innerHTML=Date();
</script>
使用这些代码,浏览器上只显示日期,而浏览器忽略"这是一个段落"。浏览器不应该先写"这是一个段落",然后在显示日期下面吗?在同一类意味着,javascript重写同一类的每个标签?由于
innerHTML
用您指定的任何HTML替换。如果您想要追加,您需要首先获取那里的内容。像这样:
var myTag = document.getElementById("demo");
myTag.innerHTML = myTag.innerHTML + Date();
元素的innerHTML
属性表示其全部内容。当您为其分配新值时,您将替换整个内容。这听起来像你想使用+=
而不是=
,所以你附加到现有的字符串,而不是替换它。
innerHTML
将调用它的元素中的文本替换为传递给它的内容,因此"This a paragraph"将被date的值替换。
试试这个:
document.getElementById("demo").innerHTML =
document.getElementById("demo").innerHTML + Date();
浏览器不应该先写"这是一个段落",然后在显示日期下面吗?
似乎你想要一个换行,然后是日期。
这样做可以在不破坏现有内容的情况下完成:
var demo = document.getElementById("demo");
demo.appendChild( document.createElement( 'br' ) );
demo.appendChild( document.createTextNode( Date() ) );
相关文章:
- 创建一个循环来简化HTML和CSS代码
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- 如何解析结构不良的 html 代码
- HTML标记,包含带引号的JavaScript代码中的引号
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- HTML 标记未在 AngularJS ckEditor 中应用,而是在 Ediator 中显示 HTML 元素标记代码
- 如何在html中将字符串转换为数字?以及如何将变量传递到scriptlet代码中
- 将第一个字母大写并去掉html代码
- 我在下拉列表中尝试了下一个和前五年的html代码.接下来的5年我都过得很好.我怎样才能拿到之前的5年
- 使用.format在一些HTML代码中插入文本,会出现错误(Python)
- html代码没有在记事本++上运行
- 来自mysql的动态值用于html代码点火器视图中的图形
- 如何:编写漂亮的HTML代码和Javascript控制台
- 在html标记中序列化javascript代码
- 我需要java代码来打开html代码onclick事件
- html代码需要可点击的文本按钮
- 无法使用我的代码(html/js/css)初始化网络摄像头
- 如何编辑此代码HTML/CSS以使'选择'JS代码也复制2剪贴板
- 如何使用js来反转义代码html
- 如何在 ATTR 标题中显示代码 HTML