2

このコードを確認してください:

 var data = $(".others-involved-div-wrapper-tobe-copied").html();
 data = '<div class="others-involved-div-wrapper" >'+data+'</div>';
 $(".others-involved-div-wrapper:last").after(data).slideDown("slow");
 if ($(".others-involved-div-wrapper").length > 1){
     $(".others-involved-div-wrapper:last .delete-more-others-involved").show();
 }

ここでは、slideDown 効果が機能していません。divに何も表示しないとデータが表示されない

data = '<div class="others-involved-div-wrapper" style="display:none;" >'+data+'</div>';

私がやっている場合data = data.hide();、その表示エラー非表示は機能ではありません。

そのデータ値が追加されたときにスライドダウン効果が必要です。

4

3 に答える 3

2

data = data. hide() は単なる HTML テキストであり、jquery オブジェクトではないため、機能しません。

チェックする

$(".others-involved-div-wrapper:last").after(data)

jquert オブジェクトを返します。それが問題かもしれません。

于 2013-02-09T15:26:50.117 に答える
1

私が気付いていない理由がない限り、jQueryと変数の割り当てを混同しているようです。おそらくこれはあなたのために働くかもしれません:

 var content = $(".others-involved-div-wrapper-tobe-copied").html(),
     data = '<div class="others-involved-div-wrapper" >'+ content +'</div>';

 $(".others-involved-div-wrapper:last").after(data).slideDown("slow");

 if ($(".others-involved-div-wrapper").length > 1){

     $(".others-involved-div-wrapper:last .delete-more-others-involved").show();

 }

そして、@ GautamJeyaramanは正しいです、jqueryメソッドを非jQueryオブジェクトに適用することはできません。

于 2013-02-09T15:40:40.467 に答える
1

jQuery 要素作成構造を使用してコードをリファクタリングすることもできます。

$("<div/>", {
    "class": "others-involved-div-wrapper",
    "html": $(".others-involved-div-wrapper-tobe-copied").html()
}).hide().insertAfter("div:last").slideDown("slow");

または、使用することもできます.clone()

$(".others-involved-div-wrapper-tobe-copied")
.clone()
.toggleClass("others-involved-div-wrapper-tobe-copied others-involved-div-wrapper")
.hide()
.insertAfter(".others-involved-div-wrapper:last")
.slideDown("slow");
于 2013-02-09T15:53:26.653 に答える