Загрузка контента из файла по ID в зависимости от ID нажатой кнопки
Есть много кнопок с разными id. Например:
<a id="content1">Кнопка 1</a> <a id="content2">Кнопка 2</a> Есть блок, куда с помощью .load() должен быть подгружен контент при нажатии на какую-либо из кнопок. Например: <div id="content-block"></div> Есть файл content.html, содержащий блоки с контентом. Данные блоки имеют свой id и этот id по своему названию совпадает с id соответствующей кнопки. Например, кнопка имеет id="content1" и div c контентом в файле content.html имеет id="content1". Как бы сделать так, чтобы при нажатии на кнопку (в данном случае на <a>), функция распознавала id этой кнопки и подставляла в load() рядом с файлом content.html. Например, если нажали на кнопку с id="content1", то происходило это: $("#content-block").load("content.html #content1"); Если же нажали на кнопку с id="content2", то происходило это: $("#content-block").load("content.html #content2"); Также, наряду с блоком для контента есть отдельный блок для заголовка: <div id="title-block"></div> Нужно чтобы так же в зависимости от id нажатой кнопки в этот блок подгружался текст из файла content.html. с таким же id только имеющий в конце "-title". Например, при нажатии на кнопку с id="content1" в <div id="title-block"></div> должен подгружаться текст с id="content1-title" Вообщем, как сделать так, чтобы при нажатии на кнопку с id="content1" происходило это: $("#content-block").load("content.html #content1"); $("#title-block").load("content.html #content1-title"); А если нажать на кнопку с id="content2" происходило это: $("#content-block").load("content.html #content2"); $("#title-block").load("content.html #content2-title"); То есть, чтоб id кнопки на которую нажали подставлялось в load(), а также в конце этого id приклеивалось "-title" (в случае для заголовка). |
Цитата:
<a id="content1">Кнопка 1</a> <a id="content2">Кнопка 2</a> <script> document.querySelectorAll('a').forEach(function(item) { item.addEventListener('click', function(){ alert('content.html #' + this.id + '-title'); }) }); </script> |
Dilettante_Pro,
наверное el=>el.addEventListener вместо document.addEventListener а если вешаете на документ, forEach лишний <a id="content1">Кнопка 1</a> <a id="content2">Кнопка 2</a> <script> document.querySelectorAll('a').forEach(el=>el.addEventListener('click', function(e){ alert('content.html #' + e.currentTarget.id + '-title'); })); P.S. e.currentTarget будет надежней |
j0hnik,
Ну да, конечно. Это я на бегу... почистил. |
Часовой пояс GMT +3, время: 05:41. |