Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Рандомное число в блок (https://javascript.ru/forum/misc/70454-randomnoe-chislo-v-blok.html)

Vardges 06.09.2017 13:36

Рандомное число в блок
 
Добрый день. Нужно сгенерировать рандомное число при клике и встативть в div на которого кликнули.
var elem=document.querySelectorAll('.element');//.element класс div-а

for (var i=0;i<elem.length;i++){
	elem[i].addEventListener('click',F);
}
function F(){
	var tiv=parseInt(Math.random()*9);
}

проблема в том что не могу вписать полученое число в div. querySelectorAll не работает ф с помошью this не знаю как,если даже это возможно.

Nexus 06.09.2017 13:47

Vardges,
<div class="element">
asd
</div><div class="element">
asd
</div>
<script>
var elems=document.querySelectorAll('.element');//.element класс div-а
for(var i=0; i < elems.length; i++){
	elems[i].addEventListener('click',function(){
		this.innerHTML=(Math.random()*9).toFixed();
	});
};
</script>

j0hnik 06.09.2017 13:49

<!DOCTYPE html>
<html lang="en">
<head>
	<style>
		div{
			display: inline-block;
			width: 30px;
			height: 30px;
			border: 1px solid red;
		}
	</style>
</head>
<body>
	<div class="element">-</div>
	<div class="element">-</div>
	<div class="element">-</div>
	<div class="element">-</div>
	<script>
		[].forEach.call(document.querySelectorAll('.element'), function(el){
			el.onclick=function(){
				el.innerHTML = Math.floor(Math.random() * 9);
			};
		});
	</script>
</script>
</body>
</html>

рони 06.09.2017 14:00

Vardges,
function F(){
  this.innerHTML=parseInt(Math.random()*9);
}

Vardges 06.09.2017 14:34

Цитата:

Сообщение от рони (Сообщение 463854)
Vardges,
function F(){
  this.innerHTML=parseInt(Math.random()*9);
}

Спасибо

Vardges 06.09.2017 15:35

А как можно вытащить значения с Div и сравнить их между собой?
var elem=document.querySelectorAll('.element');

for (var i=0;i<elem.length;i++){
	elem[i].addEventListener('click',F);
}
function F(){
	this.innerText=parseInt(Math.random()*9);
	var tiv=this.innerText;
	tiv=Number(tiv);
	for (var i=0;i<elem.length;i++){
	if(tiv==elem[i]){
		var r=parseInt(Math.random()*255);
			var g=parseInt(Math.random()*255);
			var b=parseInt(Math.random()*255);
			this.style.background="green";
	}
}
}

пока что додумался до такого но не могу понять с чем сравнить переменную "tiv"

Nexus 06.09.2017 16:09

Vardges, Свойство innerText лучше не использовать.
https://developer.mozilla.org/ru/doc...Node/innerText

Цитата:

Сообщение от Vardges
не могу понять с чем сравнить переменную "tiv"

С обработанным значением другого тэга.

В некоторых случаях коллекция «elem» внутри функции «F» может быть недоступна.
https://habrahabr.ru/post/78991/
https://learn.javascript.ru/functions-closures

Vardges 06.09.2017 16:19

[quote=Nexus;463876]Vardges, Свойство innerText лучше не использовать.
https://developer.mozilla.org/ru/doc...Node/innerText


С обработанным значением другого тэга.

В некоторых случаях коллекция «elem» внутри функции «F» может быть недоступна.
https://habrahabr.ru/post/78991/
https://learn.javascript.ru/functions-closures[/QUOT]
я чайник пока что так что нечего не понял,можно разжевать?использую хром

рони 06.09.2017 16:36

Цитата:

Сообщение от Vardges
А как можно вытащить значения с Div и сравнить их между собой?

обьясните что хотите сделать? как сравнить и что потом?

Vardges 06.09.2017 16:54

Цитата:

Сообщение от рони (Сообщение 463882)
обьясните что хотите сделать? как сравнить и что потом?

задать стиль равным по значению блокам


Часовой пояс GMT +3, время: 18:44.