Я нуб,нужна помощь (перебор массива)
Мне нужно при клике на элемент в списке открыть ссылку (любую).
Найти нужный массив с помощью перебора. ((Найти массив "Город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: |
нифига не понял:(
|
Цитата:
<!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>
|
Нужно найти массив "Город2" путём перебора всех элементов массива ,когда "Город2" найдётся ,нужно задать ему ссылку
|
[].forEach.call(document.querySelectorAll('#list>li'), el => {
if (el.textContent === "Город2") el.onclick=()=>location = 'http://google.com/';
});
|
или так (
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>
|
Спасибо большое
|
| Часовой пояс GMT +3, время: 17:40. |