查找并将多个属性传递给ajax

时间:2012-07-20 14:23:47

标签: jquery dom-traversal

我有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很糟糕)。”

1 个答案:

答案 0 :(得分:4)

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

对于.find()在我们的案例中返回的集合中的每个元素,都将运行回调。 this将代表当前的DOM元素。无论您从回调中返回什么,都将包含在结果中。

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

jsFiddle Demo

我使用.get()方法将结果转换为普通的Javascript数组。

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