1

div内のすべての画像の「src」属性を検索するjqueryコードがあり(すべての画像は同じクラス:.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 に答える