我必须根据当前图像路径找到下一张图像。这是一些定制的灯箱和jquery 1.3.2。我的HTML:
<div id="feat_screenshots">
<a class="lightbox" href="/images/features/1.gif"><img title="Image 1" alt="Image 1" src="/images/features/1.gif"></a>
<a class="lightbox" href="/images/features/2.gif"><img title="Image 2" alt="Image 2" src="/images/features/2.gif"></a>
<a class="lightbox" href="/images/features/3.gif"><img title="Image 3" alt="Image 3" src="/images/features/3.gif"></a>
</div>
和我的javascript:
$(document).ready(function(){
$("a.lightbox").click(function(){
var img_src = $(this).attr("href");
getNextImage(img_src);
});
}
function getNextImage(curPath)
{
var $picset = $("a.lightbox");
alert($($picset).find("img[src=\'/images/features/1.gif\']").attr("title"));
alert($($picset).find("img[src$=\'/images/features/1.gif\']").attr("title"));
alert($($picset).find("img[src=curPath]").attr("title"));
alert($($picset).find("img[src$=curPath]").attr("title"));
/*
to be continued...
*/
}
我只想弄清楚哪些有效,哪些无效。我在这里使用.attr(“title”)仅用于调试以测试我找到的图片。
如果我将'/images/features/1.gif'传递给getNextImage(),则只有第二个警报返回正确的标题;所有其他人都回归'未定义'。
所以我的问题是:在这里使用我的变量curPath
获取元素的正确语法是什么?我没有尝试过任何工作。
答案 0 :(得分:2)
curPath
是一个变量,因此您需要将其连接到选择器
$($picset).find("img[src='" + curPath + "']").attr("title")
答案 1 :(得分:1)
curPath是变量???
所以试试这个。
alert($($ picset).find(“img [src =”+ cuePath +“]”)。attr(“title”));
答案 2 :(得分:0)
只需使用
$(document).ready(function(){
$("a.lightbox").click(function(){
var img_src = $(this).find('img').attr('src');
});
}
以及getNextImage
仅适用于第一个元素的事物
你设置
var $picset = $("a.lightbox");
这始终是你的第一个
<a>
如果你真的想传递给另一个功能,你可以这样做
getNextImage($(this),img_src);
然后在函数中获取它
function getNextImage(current_anchor,curPath)
{
var img_src = $(current_anchor).find("img[src='" + curPath + "']").attr("title");
}
答案 3 :(得分:0)
不能直接回答您的问题,但如果您真正想要的是获取下一个a
标记,为什么不使用next()
函数?
$("a.lightbox").click(function(){
var nextImage = $(this).next();
});