Как мне написать переменную определенное количество раз? - PullRequest
2 голосов
/ 20 января 2011
var x=5
var char="Hi!

Можно ли как-нибудь заставить JS записать символ x количество раз внутри html-элемента?

<span>Hyper guy wants to tell you 
<script>
var x=5;
var char="Hi!;
document.write(char) and repeat x times;
</script>
</span>

Проблема с использованием document.write заключается в том, что она стирает всю страницу, так как бы я вставил ее в контекст?

Ответы [ 4 ]

2 голосов
/ 20 января 2011

Используйте цикл, который повторяется 5 раз, каждый раз добавляя «Привет!»на конец.

var x = 5;
var char = '';
while (x--) {
    char += 'Hi!';
}
// write once
document.write(char);

Или вы можете просто написать 5 раз:

var x = 5;
var char = 'Hi!';
while (x--) {
    document.write(char);
}

На ваше усмотрение, которое вы выберете, хотя я бы предпочелво-первых (чем меньше вы связываетесь с документом, тем лучше).

1 голос
/ 20 января 2011

попробуйте это:

<span>Hyper guy wants to tell you 
<script type="text/javascript">
var x=5;
var c="Hi!"; //close the quotes.
for (;x>=0;--x)
    document.write(c);
</script>
</span>

document.write(..) не удаляет содержимое всей страницы , если оно используется надлежащим образом.

0 голосов
/ 20 января 2011

Создание HTML-элемента на странице, куда вы хотите вставить текст
Используйте document.getElementById, чтобы получить элемент и добавить текст к элементу, используя свойство .innerHTML .text к нему

http://www.tizag.com/javascriptT/javascript-innerHTML.php

пример:

//add this empty span in the HTML page
<span id="newText"></span>

<script type="text/javascript">
var x=5, count;
var char='Hi!', resultString = '';
for(count=0;count<x;count++)
{
resultString = resultString + char;
}
document.getElementById('newText').innerHTML = resultString;
</script>
0 голосов
/ 20 января 2011

В самом деле? Я не уверен, откуда у вас мысль, что она сначала стирает страницу.

Когда я выполняю следующее в FF3, после добавления отсутствующей закрывающей кавычки следует Hi!:

<html>
    <head></head>
    <body>
        <span>
            Hyper guy wants to tell you
            <script type="text/javascript">
                var x=5;
                var chars="Hi! ";
                var i;
                for (i = 0; i < x; i++) document.write(chars);
            </script>
        </span>
    </body>
</html>

Я получаю:

Hyper guy wants to tell you Hi! Hi! Hi! Hi! Hi! 
...