Вывод массива js

Статус
В этой теме нельзя размещать новые ответы.

ramsey

Пользователь
Регистрация
30 Июн 2020
Сообщения
30
Симпатии
1
Здравствуйте. Подскажите, как правильно реализовать переход по элементам массива и их вывод в js.

JavaScript:
              <script> 
                $(document).ready(function(){
                        $("#get_element" ).click(function(){
                        
                        // Кликнули на элемент с id = get_element
                        // ???
                    });
                });
                
            </script>
Задача: нажав на элемент с id = get_element меняется текст, совпадающий с кол-вом нажатий.

Пример массива: "Выбрать", "Яблоко", "Груша", "Ананас".

Теоретически понимаю, как это реализуется, но синтаксис не знаю. Добавить в данном случае условие, когда счетчик будет равен последнему элементу - возвращаться на 0 (Выбрать)


HTML:
<button class="btn btn-primary btn-outline-white px-5 py-3" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

Выбрать <!-- Вывод выбранного слова из массива -->
                    
</button>
 

ramsey

Пользователь
Регистрация
30 Июн 2020
Сообщения
30
Симпатии
1
PHP:
<a href="#" id = "get_element"> click</a>

 <script> 
                $(document).ready(function(){
                
                    let list = ['Выбрать', 'Яблоко', 'Груша', 'Ананас', 'Банан'];
                    var get_element_num = [];
                    
        
                        $("#get_element" ).click(function(){
                        
                            alert(list[get_element_num]);
                            
                            if(get_element_num == 4) {
                                get_element_num = 0;
                            }else{
                                get_element_num++;
                            }
                            
                            
                    });
                });
                
                
            </script>
В общем, сделал так, но почему-то при первом нажатии, в alert передается undefined, после чего все нормально.
В чем ошибка?
var get_element_num = [];

->

var get_element_num = 0;

Решил. Если есть у кого-то варианты лучше - буду благодарен.
Подскажите, как вывести list[get_element_num] в html, а не через alert?

Код:
<button class="btn btn-primary btn-outline-white px-5 py-3" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

Здесь как вывести массив этот?
                    
</button>
 
Последнее редактирование:

angrybot

Администратор
Модератор
Разработчик
Постоялец
Пользователь
Дизайнер
Регистрация
15 Дек 2019
Сообщения
166
Симпатии
60
HTML:
function onClick() {
    if (index < dataset.length) {
        index++;
        document.getElementBy...(value).innerHTML = list[index];
    }
    else  index = 0;
};

const list = [ "Яблоко" , "Груша" , "Ананас" , "Банан"];
var index = 0;

<button type="button" onClick="onClick()">Click</button>
 

ramsey

Пользователь
Регистрация
30 Июн 2020
Сообщения
30
Симпатии
1
angrybot, извиняюсь, конечно, но не сработало. Может, я что-то не так сделал?)

Код:
            <button class="btn btn-primary btn-outline-white px-5 py-3" onClick="onClick()">
            
            
            
            <script> 
                function onClick() {
                if (index < dataset.length) {
                    index++;
                    document.getElementBy...(value).innerHTML = list[index];
                }
                else  index = 0;
                };

                const list = [ "Яблоко" , "Груша" , "Ананас" , "Банан"];
                var index = 0;

            </script>

            

            </button>
 

angrybot

Администратор
Модератор
Разработчик
Постоялец
Пользователь
Дизайнер
Регистрация
15 Дек 2019
Сообщения
166
Симпатии
60

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
HTML:
function onClick() {
    if (index < dataset.length) {
        index++;
        document.getElementBy...(value).innerHTML = list[index];
    }
    else  index = 0;
};

const list = [ "Яблоко" , "Груша" , "Ананас" , "Банан"];
var index = 0;

<button type="button" onClick="onClick()">Click</button>
const не будет виден в функции так как обьявлен ниже и не имеет такого свойства как var "всплывать". Да и var использовать не рекомендуется
 

angrybot

Администратор
Модератор
Разработчик
Постоялец
Пользователь
Дизайнер
Регистрация
15 Дек 2019
Сообщения
166
Симпатии
60
Будет, это не анонимная функция вызывающаяся до объявления переменной (между функцией и переменной так же нет никаких операций), насчет var - в данном случае он подходит наверное больше чем let, а объективно - разницы никакой, у него это глобальные переменные похоже.

 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
angrybot, а ну да, привычка уже видеть не просто функции выражения, а не декларированные
 

ramsey

Пользователь
Регистрация
30 Июн 2020
Сообщения
30
Симпатии
1
angrybot, так а вывести как?! Мой вариант функционировал. но результат я мог вывести только в alert.
Как мне вывести его в html ?

Код:
<button type="button" onClick="onClick()"> Массив </button>
Хотя бы здесь. Я про это спрашиваю.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу