Как использовать JavaScript Math.random() в теге HTML p

#javascript #html #css

Вопрос:

Я пытаюсь напечатать 1 случайное число в своем lt;pgt; HTML.

язык JavaScript:

 function number()  {  var minNumber = 1; // The minimum number you want   var maxNumber = 5; // The maximum number you want  var randomNumber = Math.floor(Math.random() * (maxNumber   1)   minNumber); // Generates random number   document.getElementById("randomNum").innerHTML = randomNumber; // Sets content of lt;divgt; to number   return false; // Returns false just to tidy everything up }  window.onload = number; // Runs the function on click  

HTML:

 lt;div class = cardgt;  lt;div id="randomNum"gt;  lt;h2gt;Headerlt;/h2gt;  lt;pgt;stats - [randomNumber] lt;br/gt; stat 2 - [randomNumber] lt;/pgt;  lt;/divgt; lt;/divgt;  

(Я не мог заставить свой HTML публиковать нормально, поэтому мне пришлось сделать его уродливым. Прости…)

Мое случайное число будет выведено в сторону, и оно не сможет напечатать больше в пределах одного и того же p. Мне было интересно, есть ли способ разместить мое случайное число из JavaScript в моем p в HTML и сохранить все настройки css в другой карточке класса div.

Спасибо!

Комментарии:

1. Я попытался исправить форматирование вашего кода, но я действительно не уверен, что вы намеревались поместить в пример HTML

2. Форматирование вашего вопроса было исправлено. Как вы думаете, вы могли бы перепроверить HTML-часть? К твоему сведению, звучит так, как будто ты хочешь document.querySelector("#randomNum p").textContent = randomNumber

Ответ №1:

Если я правильно понял ваш вопрос, вы хотите поместить случайное число в p вместо div , и каждый раз добавлять его.

Вы должны каждый раз создавать элемент document.createElement и добавлять его в div, вот так

 function number()  {  var minNumber = 1; // The minimum number you want   var maxNumber = 5; // The maximum number you want  var randomNumber = Math.floor(Math.random() * (maxNumber   1)   minNumber); // Generates random number   var newNumber = document.createElement("p");  newNumber.innerText = randomNumber;   document.getElementById("randomNum").appendChild(newNumber);   return false; // Returns false just to tidy everything up }  

Комментарии:

1. Каким будет форматирование при добавлении этого в мой тег p? Будет ли var newNumber позволять этому работать в любом теге p?

2. Это добавит новый тег P в ваш div каждый раз, когда вы его запускаете, содержащий номер.

3. таким образом, каждый раз, когда мой тег p используется в моем HTML-файле, случайное число будет автоматически отображаться с помощью этой функции javascript?

4. Нет. Каждый раз, когда вы запускаете функцию, она создает новый тег P с номером и добавляет его в div.

Ответ №2:

 function number()  {  var minNumber = 1; // The minimum number you want   var maxNumber = 5; // The maximum number you want  var randomNumber = Math.floor(Math.random() * (maxNumber   1)   minNumber); // Generates random number   //document.getElementById("randomNum").innerHTML = randomNumber; // Sets content of lt;divgt; to number  var x = document.getElementsByClassName("randNum");  x[0].innerHTML = randomNumber;  x[1].innerHTML = randomNumber;   return false; // Returns false just to tidy everything up }  window.onload = number; // Runs the function on click 
 lt;!DOCTYPE htmlgt; lt;htmlgt; lt;headgt; lt;titlegt;lt;/titlegt; lt;/headgt; lt;bodygt;  lt;div class = cardgt;  lt;div id="randomNum"gt;  lt;h2gt;Headerlt;/h2gt;  lt;pgt;stats - lt;span class="randNum"gt;lt;/spangt; lt;br/gt; stat 2 - lt;span class="randNum"gt;lt;/spangt; lt;/pgt;  lt;/divgt; lt;/divgt;  lt;/bodygt; lt;/htmlgt; 

Комментарии:

1. Это работает, но случайное число печатается только один раз, и оно не находится в той же строке, что и статистика, оно печатается в середине круга, который у меня есть из моего css-файла. Это то, что я должен был бы исправить в своем файле CSS? или это будет проблема с javascript?

2. У вас есть тег разрыва внутри элемента p, который вы должны удалить, чтобы сохранить случайное число в одной строке.

3. lt;pgt;статистика — lt;span class=»randNum»gt;lt;/spangt; 2 стат — lt;span class=»randNum»gt;lt;/spangt; статистика — lt;span class=»randNum»gt;lt;/spangt;lt;/pgt;

4. Также, если вы используете цикл for, и вы можете отображать любые числа случайных чисел, используя имя класса для элемента span в элементе p, например

5. для(i = 0; i

Ответ №3:

Вы должны дать элементу P идентификатор, а затем сделать document.getElementbyID(whatever you put the ID for in the P tag) = randomNumber так, чтобы ваш Html был

 lt;p id="whatever you want"gt;lt;/pgt;  

Надеюсь, это поможет.

Комментарии:

1. window.onload действительно ли «так работает»