在setTimeout函数之后页面刷新并删除body属性

时间:2018-02-14 13:46:16

标签: javascript html settimeout document.write

以下代码设置调用document.write函数的超时时间为2秒。 一旦// JS let name = prompt('Enter username: ', 'Captain Anonymous'); function sayHello() { document.write('Hello ' + name + '!'); } setTimeout(sayHello, 2000); // HTML <html> <head><title>Page Title</title></head> <body bgcolor='blue' color='white'></body> </html> 被调用,它就会自动刷新(我认为)页面。不仅如此,它还去除了身体的bgcolor和颜色属性!

$(document).ready(function() {
  $(".variant-selected")
    .change(function() {
      var str = "";
      $(this).parent().find("select option:selected").each(function() {
        str += $(this).val() + ".";
      });

      $(this).parent().find("input[name='variant']").val(str.slice(0, -1));
    })
    .trigger("change");
});

我希望这段代码只是简单地在文档中写入消息。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

document.write仅在文档加载时将文本插入文档。页面加载后,它将overwrite your page。调用setTimeout时,页面已经加载。

您可能想要做的是在您的信息页中添加一个位置。

试试这个。在页面正文中添加div标签。

<div id="mytext">

然后将sayHello函数更改为此

function sayHello() {
    document.getElementById("mytext").innerText = 'Hello ' + name + '!';
}