Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Я нуб,нужна помощь (перебор массива) (https://javascript.ru/forum/dom-window/72170-ya-nub-nuzhna-pomoshh-perebor-massiva.html)

TTystota 13.01.2018 02:10

Я нуб,нужна помощь (перебор массива)
 
Мне нужно при клике на элемент в списке открыть ссылку (любую).
Найти нужный массив с помощью перебора.
((Найти массив "Город2" с помощью перебора и задать ему ссылку))

<div id="list"></div>


var div = document.getElementById('list');
var city = ["Город1", "Город2", "Город3","Город4","Город5","Город6"];
 
for (var i = 0, ln = city.length; i < ln; i++) {
   var goroda = document.createElement('li');
  goroda.innerHTML = city[i] 
  list.appendChild(goroda);

:help:

j0hnik 13.01.2018 02:17

нифига не понял:(

j0hnik 13.01.2018 02:22

Цитата:

Сообщение от TTystota (Сообщение 475070)
Мне нужно при клике на элемент в списке открыть ссылку (любую).

Это можно, остальное не понял
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<div id="list"></div>

	<script>
var div = document.getElementById('list');
var city = ["Город1", "Город2", "Город3","Город4","Город5","Город6"];
 
for (var i = 0, ln = city.length; i < ln; i++) {
   var goroda = document.createElement('li');
  goroda.innerHTML = city[i];
  list.appendChild(goroda);
  goroda.onclick=()=>location = 'http://google.com/';
}
	</script>
</body>
</html>

TTystota 13.01.2018 02:23

Нужно найти массив "Город2" путём перебора всех элементов массива ,когда "Город2" найдётся ,нужно задать ему ссылку

j0hnik 13.01.2018 02:45

[].forEach.call(document.querySelectorAll('#list>li'), el => {
 if (el.textContent === "Город2") el.onclick=()=>location = 'http://google.com/';
});

j0hnik 13.01.2018 02:47

или так (
if (city[i] === "Город2") goroda.onclick=()=>location = 'http://google.com/';
) вот эту строку в твой код добавил
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<div id="list"></div>

	<script>
var div = document.getElementById('list');
var city = ["Город1", "Город2", "Город3","Город4","Город5","Город6"];
 
for (var i = 0, ln = city.length; i < ln; i++) {
   var goroda = document.createElement('li');
  goroda.innerHTML = city[i];
  if (city[i] === "Город2") goroda.onclick=()=>location = 'http://google.com/';
  list.appendChild(goroda);
}
	</script>
</body>
</html>

TTystota 13.01.2018 14:11

Спасибо большое


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