2

我是 JavaScript 新手,需要一些帮助。我必须在 h1 标题中显示 name[i],例如我在“John”中写它会显示为

nhoJ

但是当我尝试像现在一样将 h1 标头放在 name[i] 周围时,它显示如下:

n
h
o
J

谁能帮我在 name[i] 周围放置一个 h1 标题并使其正确显示?

<html>
<body>
    <script>
        var namIn = window.prompt("Enter Name, separated by space:" ); 
        var namAr = namIn.split("");
        var namArLen = namAr.length; 
        document.write(namAr + "<br /> Length: " + namArLen + "<br />"); 
        var name = namIn;
        for(var i = name.length - 1; i >= 0; i--) {
            document.write( "<h1>" + name[i] + "</h1>" );
        }
    </script> 
</body>
</html>
4

5 回答 5

5

循环前打开<h1>标签,循环后关闭:

document.write("<h1>");
for(var i = name.length - 1; i >= 0; i--) {
   document.write(name[i]);
}
document.write("</h1>");
于 2013-05-23T18:16:50.737 回答
2
<html>
 <body>
    <script>
        var namIn = window.prompt("Enter Name, separated by space:" ); 
        var namAr = namIn.split("");
        var namArLen = namAr.length; 
        document.write(namAr + "<br /> Length: " + namArLen + "<br />"); 
        var name = namIn;
        document.write("<h1>");
        for(var i = name.length - 1; i >= 0; i--) {
            document.write(name[i]);
        }
        document.write("</h1>");
    </script> 
  </body>
</html>

替代而不是循环:

document.write("<h1>" + name.reverse() + "</h1>");
于 2013-05-23T18:17:10.317 回答
0

您在每个循环中都给出 h1,为了解决您的问题,请执行此步骤

伪代码:

open h1
loop 
  name[i]
close h1

而已

于 2013-05-23T18:18:28.633 回答
0

您正在为每个字母创建一个新节点,您需要连接字符然后编写 html 节点,尝试这样的事情:

var newName = "";
for(var i = name.length - 1; i >= 0; i--) {
    //reverse.push(name[i]);
    newName += name[i];
}
document.write( "<h1>" + newName + "</h1>" );
于 2013-05-23T18:20:35.563 回答
0

<h1>你写的标签太多了。这些标签中的每一个都在文档中写入一行。

因此,每个字符出现在单独的行上。

您应该将整个名称包含在一个<h1>标签中。

您可以通过以下方式做到这一点:

document.write("<h1>");
for(var i = name.length - 1; i >= 0; i--) {
    document.write(name[i]);
}
document.write("</h1>");
于 2013-05-23T18:23:00.303 回答