1

次のようなサムネイルのセットがあります。

<div id='thumb' class='anImage.jpeg'>
<img src='anImage.jpg' />
</div>
......
<div id='thumb' class='anotherImage.jpeg'>
<img src='anotherImage.jpg' />
</div>

ご覧のとおり、各 DIV の「クラス」を使用して、将来、必要な DIV をそれに含まれるイメージ名で見つけられるようにします。

アップローダー(iframeを使用してajaxを模倣)があります。新しい画像をアップロードすると、JavaScript 関数が php ファイルから確認を取得します。そして、問題がなければ、私の js コードは (最後に appendChild ) 以下のような新しい DIV&IMG を追加します。

<div id='thumb' class='newUploaded.jpeg'>
<img src='newUploaded.jpg' />
</div>

問題について:私は別のjQuery関数を持っており、任意の画像をクリックすると(RENAME BUTTON)、クリックされた画像名をphpファイルに送信します。しかし、サーバー側でファイルの名前を変更した後、クライアント側で jQuery を使用してイメージ名を更新する必要があります。だから、私は次のようなことをします:

$.ajax({
.....
success: function(){
   $("div.oldname").attr("class", "newname");
}
.....
});

そして、アップロード後にファイルが作成されたばかりの場合にのみ機能しません。私のコードは、javascript の appendChild() 関数によって作成されたばかりの要素では機能しません。

4

2 に答える 2

0

.attr() メソッドを使用するのではなく、古いクラスを削除して新しいクラスを追加しようとしましたか:

$("div.oldname").removeClass('oldname').addClass('newname');

また、ファイル名をクラスとして使用している理由はありますか?

于 2013-02-18T02:02:18.007 に答える
0

見つかった..問題は

<div class="filename"></div>

次のようなファイル名: img.jpg にはドット :) があるため、クラスが正しくありません:

$('div.img.jpg').blabla() // more than 1 dot ;
于 2013-02-19T04:54:46.407 に答える