Вход

Просмотр полной версии : Я нуб,нужна помощь (перебор массива)


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
Мне нужно при клике на элемент в списке открыть ссылку (любую).
Это можно, остальное не понял
<!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
Спасибо большое