以下代码运行良好,但我需要以以下方式尝试的最接近图像的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:
Fiddle: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');
.closest()将找到一个匹配的祖先元素,在您的情况下,img
不是button
的祖先。
您可以使用.closst()查找一个公共父级,然后使用find()获取目标元素
var myString = $button.closest('.swiper-slide').find('img').attr("src");
另一种方法是使用逻辑,即img
是button
的父级的前一个同级,因此
var myString = $button.parent().prev('img').attr("src");
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);
});