繁体   English   中英

jQuery Slidedown和隐藏问题

[英]jquery slidedown and hide issue

请检查以下代码:

 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(); ,它显示错误隐藏不是一个功能。

当附加该数据值时,我只需要下滑效果。

data = data.hide()无法使用,因为它只是HTML文本而不是jquery对象。

检查是否

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

返回一个jquert对象。 那可能是问题所在。

除非有我不知道的原因,否则您似乎将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对象。

您还可以使用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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM