Get the next href in a list in another file with jQuery?

馋奶兔 提交于 2019-12-24 02:18:37

问题


I've searched and searched, and it seems I'm stuck on this problem. Somehow I thought this wouldn't be too hard, and it probably isn't for anyone with a little more knowledge about jQuery.

I have an .html file, lets call it "originalfile.html", with a couple of lists, something like this:

<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>

The links open in a new window, and in the "link(x).html" files I would like "previous" and "next" buttons to keep going up/down the lists in the now closed original file, prefferably with some way to return to :first href when hitting ==0 in all the lists in the div #content, or in other words a loop.

The "next" and "prev" buttons should open the next/prev link in the list from the original file in the _self window, where the next file will have the same buttons, and so on.

I don't know if I'm going about this the right way at all, but I have gotten this far:

I get the current filename by using

var filename = location.pathname;

I then get the original list by using

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

I'm using a new div "#linkdiv", then search for the current filename in that div

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

I'm having trouble getting this to work, and how to find the next() and prev() href etc. I believe I might be missing a .live somewhere?

Now the question is, is there somehow a way to do something like this:

    $.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");
   });

Now I know this code does not work, but would there be a way to find the href by using the current filename, then getting the previous and next href and attaching them to buttons with the id of #next and #prev ???


回答1:


jQuery doesn't seem to be the right tool for the job. If you really have 6 separate pages then they would each have their own set of navigation buttons. If you are doing some sort of template, or generated code then state that.

Also not sure why you would want to open into a new window?

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 Page 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>


来源:https://stackoverflow.com/questions/5558126/get-the-next-href-in-a-list-in-another-file-with-jquery

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!