追加什么也没做

时间:2017-03-06 20:26:27

标签: javascript jquery html

我试图在删除另一个元素后添加一个元素:

@line
$("a.III").click( function(e) {
    var element = '<div class="tagul" data-tagul-src="//cdn.tagul.com/json/6vvgt1xyerus"></div>';

    e.preventDefault();
    $("div.tagul").fadeOut("slow", function(e) {
        $("div.tagul").remove();
        $("span.content.left").append(element);
        $("div.tagul").fadeIn("slow");
    })
});

旧的div的fadeOut之后没有任何事情发生。我想我在尝试追加新元素时做错了。

1 个答案:

答案 0 :(得分:2)

您的代码运行正常,问题很可能是您没有删除/附加的div中的任何内容,因此您无法看到它正在运行。这是您确切的代码,但是div中有内容,因此您实际上可以看到脚本正常工作(添加anchorIII,我假设您忘记包含你的帖子):

&#13;
&#13;
$("a.III").click( function(e) {

  e.preventDefault();
  
  var element = '<div class="tagul2" data-tagul-src="//cdn.tagul.com/json/6vvgt1xyerus">Tagul 2</div>';
  
  $("div.tagul").fadeOut("slow", function(e) {
    $("div.tagul").remove();
    $("span.content.left").append(element);
    $("div.tagul2").fadeIn("slow");
  });
});
&#13;
a.III {
  display:block;
  margin-bottom:20px;
}

.tagul2 {
  display:none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="III">Click me</a>

<span class="content left" style="float: left;">
  <div class="tagul" data-tagul-src="//cdn.tagul.com/json/aup6249sa1ew">Tagul</div>
</span>
<span class="content" style="float: right">
			
</span>
&#13;
&#13;
&#13;

此外,附加元素的fadeIn()函数实际上无法执行任何操作,因为默认情况下div设置为显示(基本上您尝试淡入元素)这已经可见了)。为了让它淡入,您可以更改要附加的元素的类,将CSS设置为display:none;,然后元素将在追加后淡入(我在我的内容中进行了此更改)回答)。