如何使用Javascript查找下一个图像src

时间:2015-11-28 11:54:17

标签: javascript jquery html

我选择了这种做法,所以我可以将一只手中的图像放到一个文件夹中,就是这样,我尝试了很多方法,但没有任何作用,我的最新尝试是使用

$(".image-container").find("img[src=" + Img + "]").next('img').attr('src');

但仍然没有。

这是我到目前为止所提出的,任何帮助都会很棒,谢谢

<div id="removed-container" style="height: 600px;">
<div id="removed" style="height: 600px;">
<div style="float: left; width: 200px;">
  <h1> <span>The Gallery</span> </h1>
  <ul id="nav">
    <li><a href="" id="here">Gallery</a>
      <ul>
        <li><a href="#" data-albumid="gallery/fld01/">2015</a></li>
        <li><a href="#" data-albumid="gallery/fld02/">2015</a></li>
        <li><a href="#" data-albumid="gallery/fld03/">2015</a></li>
        <li><a href="#" data-albumid="gallery/fld04/">2015</a></li>
        <li><a href="#" data-albumid="gallery/fld05/">2015</a></li>
      </ul>
    </li>
    <li><a href="index.html">Back to home</a></li>
  </ul>
</div>
<div class="image-container"></div>

<script type="text/javascript"> $(document).ready(function () {
    $("a").click(function () {
        var dir_path=$(this).data("albumid");
        LoadGallery(dir_path);
        return false;
    });
});

function LoadGallery(dir_path) {
    $.ajax({
        url: dir_path,
        success: function(data) {

            $(".image-container").empty();

$(data).find("a:contains(.jpg), a:contains(.png), a:contains(.jpeg)").each(function() {
                 this.href.replace(window.location.host,"").replace("http:///",""); file=dir_path+$(this).text();
                $(".image-container").append($("<a href='java<!-- no -->script:;' class='thumb' data-src='"+file+"'><img src='"+file+"' title='Click to enlarge' alt='#'/></a>"));

                if ($(".image-container").children("a").length == 30) {
                    return false;
                }
            });

            $(".thumb").bind('click', function() {
                var Popup="<div class='bg'></div>"+"<div class='wrapper'><img src='<img src=''/>"+"<label href='javascript:;' class='prev-image'>&laquo;</label><label href='javascript:;' class='next-image'>&raquo;</label><a href='java<!-- no -->script:;' class='close' title='Close'>Close</a>";
                Img = $(this).attr("data-src"),
                $("body").prepend(Popup);
                $(".bg").height($(window).height()*4);
                $(".wrapper img").attr("src", Img);

                $(".prev-image").bind ('click',function() {
                    alert("Prev")
                })

                $(".next-image").bind ('click',function() {
                next = $(".image-container").find("img[src=" + Img + "]").next('img').attr('src');
                //alert(next) 
                })

                $(".close").bind ('click',function() {
                    $(this).siblings("img").attr("src", "")
                        .closest(".wrapper").remove();
                    $(".bg").remove();
                });
            });
        }
    });
} </script>
<div class="clear"></div>

2 个答案:

答案 0 :(得分:2)

问题在于next()的使用。

documentation - 获取匹配元素集中每个元素的紧随其后的兄弟。

在你的情况下,img不是兄弟姐妹,因此,没有匹配的元素集。

如果您的层次结构严格且不会改变,那么您可以执行类似以下操作

/* Find image - go its parent - go to next anchor - get the image - get the source */ 
$(".image-container").find("img[src='" + Img + "']").parent().next('a').find("img").attr('src');

否则你可以迭代图像。

供参考 - http://plnkr.co/edit/onUeWl8mPqVhtaHf37xp?p=preview

答案 1 :(得分:0)

请试试这个:

$('#id').next().find('img').attr("src");