これはとても簡単な質問ですが、私の人生では私の解決策をうまく機能させることができません.
http://jsfiddle.net/N8pCq/292/
すぐにコードに入ります
JQuery:
$('#_moon_static_bg_status').on('change',function(){
var image_status =$('#test').hasClass('static_preview_image'),
upload_button = $(".moon_upload_button");
if (image_status){
upload_button.hide();
} else {
upload_button.show();
}
}).trigger('change');
簡単に言えば、クラス .static_preview_image が存在するかどうかに基づいてアップロード ボタンを表示したいだけです。このクラスには画像が含まれており、ユーザーが画像を閉じると div 全体が削除されるため、そのクラスを呼び出すと表示に適していると考えました。画像が表示されていない場合はアップロードを表示し、画像が表示されている場合はアップロード ボタンを非表示にします。
HTML:
<div class="moon_media_status" id="_moon_static_bg_status">
<input type="button" value="Upload File" class="moon_upload_button button"></input>
<a rel="_moon_static_bg" class="moon_remove_file_button" href="#">Remove Image</a>
<div id="test" class="static_preview_image"></div>
</div>
.moon_remove_file_button をクリックすると、その下にある .static_preview_image が完全に削除されます。ユーザーが画像をアップロードすると、.static_preview_image を含む div が戻ってきます。そのため、当然、そのボタンを削除して、閉じるボタンのみを公開する必要があります...
振り返ってみると、オープンソースの jQuery が .moon_remove_file_button を削除してそれをコピーする方法を確認できましたが、これを書いたので、脳のおならの間違いを犯している場所を確認したいと思います...
ここでもフィドルがあります... http://jsfiddle.net/N8pCq/292/