h1标记在javascript中无法正常工作

时间:2013-05-23 18:15:43

标签: javascript

我是JavaScript的新手,需要一些帮助。我必须在h1标题中显示名称[i],所以比方说我写在“John”中它会显示为

nhoJ

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

n
h
o
J

任何人都可以帮我在名称[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>

5 个答案:

答案 0 :(得分:5)

在循环之前打开<h1>标记并在循环之后关闭它:

document.write("<h1>");
for(var i = name.length - 1; i >= 0; i--) {
   document.write(name[i]);
}
document.write("</h1>");

答案 1 :(得分: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>");

答案 2 :(得分:0)

你在每个循环中给出h1,以解决你的问题,做这一步

伪代码:

open h1
loop 
  name[i]
close h1

多数民众赞成

答案 3 :(得分: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>" );

答案 4 :(得分:0)

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

因此每个角色都出现在单独的一行上。

您应将整个名称括在一个<h1>代码中。

您可以通过以下方式执行此操作:

document.write("<h1>");
for(var i = name.length - 1; i >= 0; i--) {
    document.write(name[i]);
}
document.write("</h1>");