我有jquery代码,找到div中所有图像的“src”属性(每个图像都有相同的类:.image_class),然后将其发送到ajax(然后发送到找到图像并删除它们的php文件)。 这是代码:
$remove_images = $.each($("#main_div").find(".image_class").attr(""));
$.ajax({
type: 'POST',
data: {
action: 'delete_images',
imagefile: $remove_images
},
url: 'delete.php',
success: function(msg) {
alert("" + msg + "");
}
})
PHP文件如下所示:
if($_POST["action"]=="delete_images"){
@unlink($_POST['imagefile']);
}
但这不起作用。我怀疑$ remove_images中出现了问题(假设“$ .each很糟糕)。”
答案 0 :(得分:4)
您可以使用.map()
方法从jQuery集合中收集内容。
对于.find()
在我们的案例中返回的集合中的每个元素,都将运行回调。 this
将代表当前的DOM元素。无论您从回调中返回什么,都将包含在结果中。
var $remove_images = $("#main_div").find(".image_class").map(function () {
return $(this).attr('src');
}).get();
我使用.get()
方法将结果转换为普通的Javascript数组。
请阅读.map()
的手册以获取更多信息(通常,习惯使用本手册,因为您可以在那里找到问题的答案 - 大多数情况下示例都很棒。)< / p>