@N7EIght

Как менять аттрибуты у динамически созданных элементов?

Есть функция смены языка:
langQz = ['Басты бет', 'Тіркеу', 'Тестілеу', 'Нәтижелері', 'Есептер', 'Шығу', 
	'Оқушының аты', 'Жазу', 'Жаңа оқушыны тіркеу:', 'Оқушының Тегі, Аты, Әкесінің аты',
	'Оқушының логині', 'Оқушының паролі', 'Тіркеуге', 'Немесе бар тізімнен таңдаңыз:',
	'Қосылған!', 'Қосу', 'Іріктеу', 'Сұрыптау', 'Кірістіру', 'Бұдан әрі', 'Сұрақтың мәтінін жазыңыз:',
	'Жауаптың 1 нұсқасы:', 'Жауаптың 2 нұсқасы:', 'Жауаптың 3 нұсқасы:', 'Жауаптың 4 нұсқасы:'];

	if (localStorage['lang'] == 'qz') {
		for (i = 0; i < langQz.length; i++) {
			$('[data-lang="' + i + '"]').text(langQz[i])
			if ($('[data-lang="' + i + '"]').hasClass('form-control')) {
				$('[data-lang="' + i + '"]').attr('placeholder', langQz[i]);
			}
			setInterval(function () {
				$('textarea[data-lang="' + i + '"]').attr('placeholder', langQz[i]);
			}, 20)
		}
		$('.lang-qz').addClass('active');
		$('.lang-ru').removeClass('active');
	} else {
		localStorage.removeItem('lang')
		$('.lang-ru').addClass('active');
		$('.lang-qz').removeClass('active');
	}

но она не работает у динамически созданных элементов (textarea), при этом, это не работает именно в этой конструкции, а написать интервал вне этой конструкции, то всё работает, но мне надо это сделать именно в цикле, чтобы можно было подставлять нужные слова.
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@StockholmSyndrome
setInterval(function (i) {
  $('textarea[data-lang="' + i + '"]').attr('placeholder', langQz[i]);
}, 20, i)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы