1

我有 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 不好)。

4

1 回答 1

4

您可以使用该.map()方法从 jQuery 集合中收集内容。

.find()在我们的例子中,回调将针对集合中返回的每个元素运行。this将代表当前的 DOM 元素。从回调返回的任何内容都将包含在结果中。

var $remove_images = $("#main_div").find(".image_class").map(function () {
    return $(this).attr('src');
}).get();

jsFiddle 演示

我使用该.get()方法将结果转换为纯 Javascript 数组。

请阅读手册以.map()获取更多信息(并且通常习惯于使用手册,因为您可以在那里找到问题的答案 - 在大多数情况下,这些示例都很棒)。

于 2012-07-20T14:26:02.770 回答