Получить следующий href в списке в другом файле с помощью jQuery? - PullRequest
2 голосов
/ 06 апреля 2011

Я искал и искал, и, кажется, я застрял на этой проблеме.Каким-то образом я подумал, что это не будет слишком сложно, и, вероятно, это не для тех, кто немного больше знает о jQuery.

У меня есть файл .html, давайте назовем его «originalfile.html», спара списков, что-то вроде этого:

<div id="content">
    <ul id="firstlist">
       <li class="link1"><a href="/path/link1.html" target="_blank"></a></li>
       <li class="link2"><a href="/path/link2.html" target="_blank"></a></li>
       <li class="link3"><a href="/path/link3.html" target="_blank"></a></li>
    </ul>
    <ul id="secondlist">
       <li class="link4"><a href="/path/link4.html" target="_blank"></a></li>
       <li class="link5"><a href="/path/link5.html" target="_blank"></a></li>
       <li class="link6"><a href="/path/link6.html" target="_blank"></a></li>
    </ul>
</div>

Ссылки открываются в новом окне, а в файлах "link (x) .html" я бы хотел, чтобы кнопки "previous" и "next"продолжайте увеличивать / уменьшать списки в теперь закрытом исходном файле, желательно с некоторым способом возврата к: first href при нажатии == 0 во всех списках в div #content или, другими словами, в цикл.

Кнопки «следующий» и «предыдущий» должны открывать ссылку «следующий / предыдущий» в списке из исходного файла в окне _self, где следующий файл будет иметь те же кнопки и т. Д.

Я не знаю, правильно ли я поступаю по этому поводу, но я зашел так далеко:

Я получаю текущее имя файла, используя

var filename = location.pathname;

, затем я получаюисходный список с помощью

$.ajax({
   url: '/path/originalfile.html',
   success: function(response) {
   $("#linkdiv").html(jQuery(response).find('#content').html());
   });

Я использую новый div "#linkdiv",затем найдите текущее имя файла в этом div

$("#linkdiv a[href=(filename)]");

У меня проблемы с тем, чтобы заставить это работать, и как найти next () и prev () href и т. д. Я полагаю, что я мог пропустить.live где-нибудь?

Теперь вопрос в том, есть ли какой-то способ сделать что-то вроде этого:

    $.ajax({
   url: '/path/originalfile.html',
   success: function(response) {

   $("#next").html(jQuery(response).
   find('href with same value as current filename').
   next("href");

   $("#prev").html(jQuery(response).
   find('href with same value as current filename').
   prev("href");
   });

Теперь я знаю, что этот код не работает, но будет ли способнайти href, используя текущее имя файла, затем получить предыдущий и следующий href и прикрепить их к кнопкам с идентификатором #next и #prev ???

1 Ответ

0 голосов
/ 06 апреля 2011

jQuery не кажется подходящим инструментом для работы. Если у вас действительно есть 6 отдельных страниц, то у каждой из них будет свой набор кнопок навигации. Если вы делаете какой-то шаблон или сгенерированный код, укажите это.

Также не уверен, почему вы хотите открыть в новом окне?

HTML Page 1

<ul id="firstlist">

   <li class="link2"><a href="/path/link2.html" target="_blank">Next</a></li>
   <li class="link3"><a href="/path/link3.html" target="_blank">3</a></li>
</ul>

HTML-страница 2

<ul id="firstlist">
   <li class="link1"><a href="/path/link1.html" target="_blank">Previous</a></li>

   <li class="link3"><a href="/path/link3.html" target="_blank">Next</a></li>
</ul>

HTML Page 3

<ul id="firstlist">
   <li class="link1"><a href="/path/link1.html" target="_blank">1</a></li>
   <li class="link2"><a href="/path/link2.html" target="_blank">Previous</a></li>

</ul>
...