也许有一个简单的解决方案,但我无法弄清楚.
我有一堆像这样坐着的图像:
<div class='image-bar'>
<span>
<img class='my-image' src='blah1' id='1'>
</span>
<span>
<img class='my-image' src='blah2' id='2'>
</span>
<span>
<img class='my-image' src='blah3' id='3'>
</span>
</div>
给定图像的id,我需要使用jQuery找到它的下一个和上一个图像.
以2为例,我尝试了下面的图片:
$('.image-bar').find('.my-image[id="2"]').next();
我想直到我的’属性等于’选择器我是正确的,但是因为id为3的图像并不完全是兄弟,所以next()不起作用.我怎么处理这个?任何指针都非常感谢!
最佳答案 这不会起作用,因为元素被包裹在跨度中,您需要相对于图像的父亲而言.
var next = $('.image-bar').find('.my-image[id=2]').parent().next().find('img');
var prev = $('.image-bar').find('.my-image[id=2]').parent().prev().find('img');
编辑
假设您可能有更多图像要处理并且对相同的功能感兴趣,您可以执行以下操作:
var elementId = "2";
var next = $('.image-bar').find('.my-image[id=' + elementId + ']').parent().next().find('img');
var prev = $('.image-bar').find('.my-image[id=' + elementId + ']').parent().prev().find('img');