jimmykoks
@jimmykoks

Как передать значения из одного DIV'а в другой?

Ребят, помогите! Уже четыре дня мучаюсь, ничего не получается.
На странице имееются контейнеры с изображениями и их мета-данными (Заголовок и Описание):
html

<div class="image-container click-container">
    <div class="image-block">
      <img src="file.jpg" class="size-full" alt="" title="">
      <div class="image-meta">
        <div class="image-title">Заголовок 1</div>
        <div class="image-description">Описание 1</div>
      </div>
    </div>
  </div>

  <div class="image-container click-container">
    <div class="image-block">
      <img src="file.jpg" class="size-full" alt="" title="">
      <div class="image-meta">
        <div class="image-title">Заголовок 2</div>
        <div class="image-description">Описание 2</div>
      </div>
    </div>
  </div>
  
  <div class="hide-title"></div>
  <div class="hide-description"></div>


По клику на .click-container необходимо передать значения заголовка .image-title и описания image-description в DIV'ы .hide-title и .hide-description соответственно.

Пока вот это получилось сделать:
JS

jQuery(document).ready(function($) {
	$('.click-container').click(
		function() {
			var imgTitle = $('div.image-title').html();
			var imgDescription = $('div.image-description').html();
			$('.hide-title').val(imgTitle);
			$('.hide-description').val(imgDescription);
		});
});

Но, во-первых, если на странице несколько элементов .click-container, то в переменную записываются только значения из первого.
Во-вторых, данные их переменных не передаются в .hide-title и .hide-description.
  • Вопрос задан
  • 240 просмотров
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Ищите элементы внутри кликнутого блока.
И hide-title и hide-description это блоки, у них нет value, а вы задаете value через val, поэтому нужно использовать html() или text().
jQuery(document).ready(function($) {
  $('.click-container').click(
    function() {
      var $this = $(this);
      var imgTitle = $this.find('div.image-title').html();
      var imgDescription = $this.find('div.image-description').html();
      $('.hide-title').html(imgTitle);
      $('.hide-description').html(imgDescription);
    });
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы