获取最接近的图像attr(" src")jQuery

时间:2014-09-03 13:17:08

标签: jquery

以下代码工作正常,但我需要以下列方式尝试的最近图像的attr("src"),但它还没有工作。

$(".delimg").click(function () {
var $button = $(this);
var myString = $button.closest('.swipe-image').find('img').attr("src");
var avoid ="http://20percents.com/backend/uploads/";
myString = myString.replace(avoid,'');
$("#getnew").val(myString);
});

以下方式正在运行,但没有最接近,选择第一个值

$(".delimg").click(function () {
var myString = $('.swipe-image').attr("src");
var avoid ="http://20percents.com/backend/uploads/";
myString = myString.replace(avoid,'');
$("#getnew").val(myString);
});

如何解决最接近的问题?

HTML:

                   

小提琴:http://jsfiddle.net/e27r8/603/

Update1:​​onchange和触发器

怎么样?
$(".delimg").on('change', function () {
var myString = $('.swipe-image').attr("src");
var avoid ="http://20percents.com/backend/uploads/";
myString = myString.replace(avoid,'');
$("#getnew").val(myString).join());
}).trigger('change');

2 个答案:

答案 0 :(得分:2)

.closest()会找到匹配的祖先元素,在您的情况下,img不是button的祖先。

您可以使用.closest()查找公共父级,然后使用find()获取目标元素

var myString = $button.closest('.swiper-slide').find('img').attr("src");

另一种方法是使用imgbutton父母的前一个兄弟的逻辑,所以

var myString = $button.parent().prev('img').attr("src");

答案 1 :(得分:0)

Arun解决方案的替代方案可能是:

$(".delimg").click(function () {
    var myString = $(this).parent().prev().attr("src");
    var avoid ="http://20percents.com/backend/uploads/";
    myString = myString.replace(avoid,'');
    $("#getnew").val(myString);
});