如何在Javascript中的字符串末尾添加空格

时间:2017-03-04 17:32:35

标签: javascript html string

我正在编写一个基于用户输入创建倾斜d的程序。 程序询问行数并相应地产生输出。 如果用户输入5,则应生成输出:

d
 d
  d
   d

我的实际输出是:

d
d
d
d

这是我的Javascript代码:

spaceArray = []; 
space = ' '; 
spaceMain = ' ';


function processingFunction(rows){ //passes the input as variable rows
    var spaceCounter = 0;          
    var counter = 0;               

    while (counter<rows){    
        while (spaceCounter<counter){ 
            spaceMain = spaceMain + space;  //adds a space before the d
            spaceCounter++;         
        }
        counter++; 
        spaceCounter=0; 
        spaceArray.push(spaceMain);  //adds spaceMain to the end of spaceArray
        spaceMain = ' '; 
    }

    for (i = 0; i<rows; i++){
        d = spaceArray[i]+"d<br>";
        document.getElementById("outputNumber1").innerHTML += d;                                                                                                   
    }

}

当我从&#39;替换空格变量字符串时&#39;到&#39; - &#39;它似乎适用于输出:

d
-d
--d
---d

我不确定我需要更改以获得上述输出但是使用空格而不是破折号。

HTML:

<!DOCTYPE>
<html>
<head>
</head>
<style>
    body{background-color: green;} 

</style>

<body>
    <center><h2>Slanted d</h2></center>
    <h3>Input the number of rows you would like your slanted d to be in the input text box</h3>
    <input type="text" id="inputNumber"></input> 
    <button type="button" onclick="processingFunction(document.getElementById('inputNumber').value)">Create slanted d</button> 
    <br><br>
    <output type="text" id="outputNumber1"></output>

<script src="slantedDJS.js"></script>

</body>
</html>

4 个答案:

答案 0 :(得分:7)

代替空格使用html代码&nbsp;,您的代码将开始工作,因为默认情况下,无论您提供多少,浏览器都只接受一个空格。 例如:

space = '&nbsp;'; 

答案 1 :(得分:2)

默认情况下,浏览器会将所有空格“折叠”为一个空格。

一种解决方案是使用<pre>元素代替输出。像这样:

<pre type="text" id="outputNumber1"></pre>

<pre>显示预格式化的文字。因此显示输出时保留所有空格和换行符。

如果您不想更改元素类型,可以将CSS声明white-space:pre添加到元素中,以获得与上面相同的结果。像这样:

<output type="text" id="outputNumber1" style="white-space:pre;"></output>

或者您可以在<style>块中单独设置,如下所示:

<style>
    body{background-color: green;} 
    #outputNumber1{white-space:pre;}
</style>

答案 2 :(得分:1)

你可以使用&nbsp代表不间断的空格用html语言。

答案 3 :(得分:1)

使用nbsp这为你的html添加一个不间断的空间。