请检查此代码:
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();
,则显示错误隐藏不是函数。
当附加数据值时,我只需要滑动效果。
答案 0 :(得分:2)
data = data.hide() 不会工作,因为它只是HTML文本而不是jquery对象。
检查是否
$(".others-involved-div-wrapper:last").after(data)
返回一个jquert对象。这可能是问题所在。
答案 1 :(得分: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对象。
答案 2 :(得分: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");