-2

クラス名をインクリメントしてdivを動的に作成しています。これで、divの右上隅に閉じるボタンがあり、閉じるボタンをクリックしたときに特定のdivを非表示にします。

コード:

var i=1;
var newImageBoxdiv = $(document.createElement('div')).attr({ class:"demo"+i, id:"image"});
newImageBoxdiv.innerHTML = "<img id='MyImage' />";   
newImageBoxdiv.insertAfter('.demo');
i++;
$('#CloseWindow').click(function(){
?????
});

divを作成するたびに。そのクラス名はdemo1、demo2...などになります。必要なdivを非表示にするには、#CloseWindow関数に何を書き込む必要がありますか?

4

3 に答える 3

0

.live()動的に生成されたコンテンツでクリックバインディングが確実に発生するように、関数を追加する必要があります。

$('#CloseWindow').live('click', function(){ 
    $(divSelector).hide();
});
于 2012-10-12T07:35:32.277 に答える
0

$(divSelector).hide()選択した要素を非表示にします

$(divSelector).show()選択した要素が表示されます

$(divSelector).toggle()選択した要素の表示/非表示を切り替えます

これがお役に立てば幸いです。

于 2012-10-12T07:26:16.343 に答える
0

まず、divを作成するとき、idは一意であるため、クラスではなくidでインクリメントを使用します。

var newdiv = $('div id="demo' + i + '" class="demo">')

次に、imagetagのidをスキップするか、同じロジックを使用する必要があります。これは、私が想定している多くのdivが作成されているためです。

newdiv.append($('<img class="myimage" />')); //this will add myimage to end of newdiv

これで、closewindowで、classnameを使用して閉じることができます。

$('#closewindow').click(function(){
    $('.demo').hide();
});
于 2012-10-12T07:49:27.353 に答える