0

var $deleteEl = $('<a class="upload_delete" href="#">Delete</a>');アップロードされた各画像の横に作成する必要がある削除リンクである変数があります。html 構造は次のとおりです。

<ul id="thumb_galery">
    <li class="thumb">
        <img>
        <a class="upload_delete"></a>
    </li>
    <li class="thumb">
        <img>
        <a class="upload_delete"></a>
    </li>
</ul>

アップロードされた画像ごとに、画像付きのサムがthumb_galeryに追加されます

$(thumb_galery).append('<li id="thumb"><img src="img/success.jpg" alt="' + fileName + '"></li>');

liHTML構造で提供されているのと同じように、画像の隣に削除リンクを追加する必要があります。

このような削除リンクを追加すると

$(thumb).append($deleteEl);

アップロードされた最初の画像ではうまく機能しますが、次の画像ではクラスサムで最初に追加するだけliです。

li次にアップロードする画像に削除リンクを追加するにはどうすればよいですか?

私が試した他の解決策は、このように最初の追加に変数を配置することです

$(thumb_galery).append('<li class="thumb"><img src="img/success.jpg" alt="' + fileName + '">' + $deleteEl + '</li>');

これにより、完全な html 構造が作成されますが、削除リンクの代わりに [object Object] が表示されます。

4

2 に答える 2

2

要素に固有のものを与えるidか、クラスを使用してください。そして試してください:

var item = $('<li id="thumbX" class="thumb"><img src="img/success.jpg" alt="' + fileName + '"></li>');
item.append($deleteEl)
$(thumb_galery).append(item); 
于 2013-04-26T18:44:28.097 に答える
1

このように直接追加できます。同じIDを持つ複数の要素を持つべきではありません。

http://jsfiddle.net/xq8f7/

var $deleteEl = $('<a>',{ 
    'class': "upload_delete",
    href: "#",
    text: "Delete"});
$('.thumb').append($deleteEl);  
于 2013-04-26T18:41:49.957 に答える