#jquery #jquery-load
#jquery #jquery-загрузка
Вопрос:
Фрагмент кода для загрузки содержимого шаблона в div (main.html ):
var href = $(this).attr('href');
$('#content_pane').load( href );
<a href="/main" class="active"> MAIN </a>
<a href="/review"> REVIEW </a>
<div id="#content_pane"> </div>
review.html:
<a href="review/1" class="pageLink"> 1 </a>
<a href="review/2" class="pageLink"> 2 </a>
Теперь мой вопрос заключается в том, что:
- Допустим, я загрузил страницу обзора в div #content_pane, нажав на href=»/review»
- Часть содержимого обзора содержит ссылку href с номерами страниц.
- ВОПРОС!!Когда я нажимаю на эту ссылку (номер страницы), я хочу, чтобы содержимое ссылки, нажатой на этой странице обзора, загружалось обратно в этот div #content_pane с эффектом AJAX, точно таким же, как загрузка jQuery, как указано выше.
Редактировать
Текущая проблема:
Ссылка на class .pageLink из review.html недоступен из main.html , после review.html загружается в div #content_pane
Кто-нибудь может помочь в этом, пожалуйста?
Ответ №1:
Хорошо, если я вас правильно понял,
вам нужен способ загрузить больше контента после завершения вызова ajax для этих ссылок.
Для этого (если вы используете jQuery) Я бы сделал так:
вам нужно будет использовать функцию: «.delegate ()». (для получения дополнительной информации читайте здесь).
Теперь для кода:
<script>
var href = $(this).attr('href');
$('#content_pane').load( href );
$('#content_pane').delegate('#your-link-id-here', 'click', function(){
var href2 = $('.your-link-class-here').attr('href');
$('#content_pane').load( href2 );//If you want your links to stay, put another div insted of content_pane.
});
</script>
<a href="/main" class="active"> MAIN </a>
<a href="/review"> REVIEW </a>
<div id="#content_pane"> </div>
Комментарии:
1. Думаю, я понял ваш подход. Но, похоже, там был исправлен идентификатор ссылки. Что, если я на самом деле заранее не знаю, сколько ссылок существует до загрузки содержимого обзора?
2. @MrCooL, как именно количество ссылок меняет ситуацию? Мой код довольно общий, это означает, что ему не нужно количество ссылок. Редактировать: Хорошо, я думаю, что понял вашу проблему, я изменил идентификатор ссылки .. на класс, тогда у вас может быть несколько ссылок.
3. Я отредактировал свой вопрос с описанием проблемы. Я думаю, что это каким-то образом решает мое требование о наличии опыта ajax для загрузки одного и того же DIV. Однако, как я объяснил проблему, он не смог получить доступ к классу из review.html
4. Можете ли вы дать мне полный исходный код? Я попробовал сам, но загрузка по какой-то причине не работала (даже на моем сервере).
Ответ №2:
Проблема решена следующим образом:
- Элемент div в main.html нагрузки review.html .
- review.html может получить доступ к элементу div в main.html .
- Следовательно, любые ссылки, по которым нажали review.html , jQuery / javascript может быть выполнен для обновления div в main.html .