@Filyaaa

JQ изменение содержимого блока?

Есть функция, которая при наведении на блок А копирует текст и подставляет в другой блок Б. Таких блоков много, которые нужно поочередно подставлять в Б. Как можно записать это компактно, а не дублировать эту функцию меняя переменную А на другую.
<div id="a">Hello A</div>
<div id="b">Hello B</div>
<div id="c">Hello C</div>
<div id="d">Hello D</div>
<div id="e">Hello E</div>
<div id="text">
    <div class="b">From A</div>
</div>


$('#a').mouseover(function() {
  var textContent = $('#a').text();
  $('.b').text(textContent);
});
$('#b').mouseover(function() {
  var textContent = $('#b').text();
  $('.b').text(textContent);
});
  • Вопрос задан
  • 213 просмотров
Решения вопроса 2
rockfeeler
@rockfeeler
Фронтендер, дизайнер, верстальщик-перфекционист
function setNewBlockContent(source, target) {
	target.html(source.html());
}
//	дайте всем блокам один класс для простоты выборки, например
$('.myBlock').on('mouseover', function() {
	setNewBlockContent($(this), $('#text'));
});


Ну или .text(), если нужно.
Ответ написан
@DanKud
Добавить класс к блокам:
<div class="hello" id="a">Hello A</div>
<div class="hello" id="b">Hello B</div>
<div class="hello" id="c">Hello C</div>
<div class="hello" id="d">Hello D</div>
<div class="hello" id="e">Hello E</div>
<div id="text">
    <div class="b">From A</div>
</div>

$('.hello').on('mouseover', function() {
    $('.b').text($(this).text());
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
Переделать с ID на класс и всё.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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