Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在列中打印文本_Javascript - Fatal编程技术网

Javascript在列中打印文本

Javascript在列中打印文本,javascript,Javascript,主要的问题是,我希望我的新文本出现在div的下一行,但不在同一位置或替换以前的文本 目前,我有一个代码,可以打印出玩家和计算机的临时计分结果 < style > All needed code < /style > <script> function example() { if(player == 1) { document.getElementById("logtxt").innerHTML = "Player rolled "+

主要的问题是,我希望我的新文本出现在div的下一行,但不在同一位置或替换以前的文本

目前,我有一个代码,可以打印出玩家和计算机的临时计分结果

    < style >
    All needed code
    < /style >

<script>
function example() {
if(player == 1) {
document.getElementById("logtxt").innerHTML = "Player rolled "+tempscore+" points"
} else if(player == 2) {
document.getElementById("logtxt").innerHTML = "Computer rolled "+tempscore+" points" }
</script>

<html>
<div class="log">
<h1>Game log<h1>
<p id="logtxt"> </p>
</div>
</html

显然还有更多的代码,但这是需要的部分。

您需要附加日志字符串,而不仅仅是设置内容,您可以使用+=来实现这一点:

function example() {
    if(player == 1) {
        document.getElementById("logtxt").innerHTML += "Player rolled "+tempscore+" points<br />";
    } else if(player == 2) {
        document.getElementById("logtxt").innerHTML += "Computer rolled "+tempscore+" points<br />";
    }
}
最好将其转换为可重用的功能:

function log(text) {
    //log the text and start a new line
    document.getElementById("logtxt").innerHTML += text + '<br />';
}

function example() {
    if(player == 1) {
        log("Player rolled "+tempscore+" points");
    } else if(player == 2) {
        log("Computer rolled "+tempscore+" points");
    }
}

另一个使用insertAdjacentHTML的地方

document.getElementById("logtxt").insertAdjacentHTML('beforeend', "<br/>Player rolled "+tempscore+" points");
举例说明:

在logtxt元素结束之前,在所有当前内容之后,您可以插入br标记以在每个条目上换行。

您应该使用.appendChild,这样您就不必使用+=,获取和设置.innerHTML,这也是一个选项

var doc = docmument;
function E(e){
  return doc.getElementById(e;)
}
function T(t){
  return doc.createTextNode(t);
}
function C(e){
  return doc.createElement(e);
}
function example(){
  var logtxt = E('logtxt');
  if(player === 1) {
    logtxt.appendChild(T('Player rolled '+tempscore+' points'));
    logtxt.appendChild(C('br'));
  else if(player === 2){
    logtxt.appendChild(T('Computer rolled '+tempscore+' points'));
    logtxt.appendChild(C('br'));
  }
}