如何将 HTML 代码写入 DOM

how to write html code to the DOM

本文关键字:DOM 代码 HTML      更新时间:2023-09-26
<!DOCTYPE html>
<html>
<body>
<form name=myform>
<input type=button value="Try it now" 
onClick="
s=prompt('Enter your first name','Name');
n=prompt('Enter your first name','Name');
document.write('hello'+s +n+' !')">
</form>
</body>
</html> '

在上面的代码中,我想用下面的代码替换"hello"。代替你好,放这个代码:
<div class="hreview"> <span class="item"> Reviewed by <span class="reviewer">john paul</span> Rating: <span class="rating">5</span> </div>

它应该显示代码,而不格式化我在 hello 处编写的代码。

你需要像这样转义你的引号:

document.write("<div class='"hreview'"> <span class='"item'"> Reviewed by <span class='"reviewer'">john paul</span> Rating: <span class='"rating'">5</span> </div>")

或使用单引号

document.write("<div class='hreview'> <span class='item'> Reviewed by <span class='reviewer'>john paul</span> Rating: <span class='rating'>5</span> </div>")

不建议在页面加载后使用 document.write(),它可以用于在 DOM 准备时向页面添加内容。

例如:

<!DOCTYPE html>
<html>
<body>
<script type="javascript">
 document.write('<h1>Mypage</h1>');
</script>
</body>
</html>

在您的情况下,页面已经被解析并转换为 DOM,因此您应该直接更改 DOM 以反映页面上的任何更改。

<!DOCTYPE html>
<html>
<head>
    <script>
        function getDetails(){
         var s=prompt('Enter your first name','Name');
         var n=prompt('Enter your first name','Name');
         document.body.innerHTML = ('hello'+s +n+' !');
        }
    </script>
</head>
<body>
<form name=myform>
<input type=button value="Try it now" 
onClick="getDetails()">
</form>
</body>
</html>

您可以阅读有关 DOM 遍历的信息

我想您正在尝试在写入文档的更新 html 中使用 sn 变量作为名字和姓氏,所以这就是我在这里所做的:

.html:

<form name="myform">
    <input type="button" value="Try it now" onclick="write_message();" />
</form>
<span id="message"></span>

.js:

function write_message() {
        var s=prompt('Enter your first name','First name');
        var n=prompt('Enter your last name','Last name');
        document.getElementById('message').innerHTML='<div class="hreview"> <span class="item"> Reviewed by <span class="reviewer">'+s+' '+n+'</span> Rating: <span class="rating">5</span> </div>';
}

另外,作为提示,您的 html 存在许多问题。 inputs应按上述方式正确关闭,斜杠位于末尾。任何带有值字符串的属性都需要用引号引起来,并且所有 html 都是小写的,包括 onclick .