У меня есть что-то вроде этого, но он не работает:JQuery тумблеры динамически создаваемые элементы
<!-- ... code .. -->
var id = 0;
data.forEach(function(item, i) {
id = id+1;
$(".button-" + id).click(function() {
$(".button-" + id).toggle();
});
<!-- ... code .. -->
Что я хочу: Есть некоторые DIVs кнопки-1, кнопка-2, как ... и скоро. Я сделал переключатель, и я хотел автоматизировать его с помощью этого цикла, потому что контент динамически генерируется. Но это кажется неправильным ... В этом цикле это не работает.
Итак, как сделать переключатели динамически для кнопки-1, кнопки-2, ... ??
Это просто об этом, что кажется неправильным:
$(".button-" + id).click(function() {
$(".button-" + id).toggle();
EDIT
Ну, может быть, мой вопрос был немного грязный Спасибо всем до сих пор за ваши ответы, я на самом деле ценить это! Но для меня не было правильного ответа ... Итак, снова и сейчас более конкретный:
У меня есть несколько кнопок с значками материалов, которые должны менять свое состояние при нажатии.
<a href="" class="likebutton-1"><i class="material-icons">favorite</i></a>
<a href="" class="likebutton-1" style="display:none;"><i class="material-icons">favorite_border</i></a>
Содержание HTML генерируется динамически, так что есть likebutton-1, likebutton-2 ...
Тогда есть другой DIV, который показывает количество подобных:
<div class="likes-1">99 likes</div>
<div class="likes-1" style="display:none;">100 likes</div>
DIV как внутри внешнего контейнера.
А вот мой JQuery код для этого:
$(".likebutton-1").click(function() {
$(".likebutton-1").toggle();
$(".likes-1").toggle();
});
Ну, что код работает для меня. Значок переключается с любимого на favorite_border и нравится переключать с 99 до 100 ... (Это просто демо-приложение, поэтому нет необходимости действительно считать понравившиеся)
Но я хочу также генерировать этот код jQuery динамически , и это то, что не работает ... пока я должен установить вручную переключатели для likebutton-1, напримерbutton-2 ...
Что находится в переменной 'data'? –
Вышеизложенное слишком фрагментарно для нас, чтобы иметь возможность помочь с ним. Положите [mcve] в вопрос, в идеале сделав его ** runnable ** с помощью Stack Snippets (кнопка <[>> '). –
Его проблема будет заключаться в том, что все его обработчики кликов будут иметь значение id последнего цикла forEach, поскольку все ссылки имеют одну и ту же переменную id во время выполнения, поэтому все кнопки будут переключаться независимо от того, какая последняя кнопка должна переключаться. – connexo