javascript - insertAdjacentHTML 未在 beforeend 之前添加

标签 javascript jquery insertadjacenthtml

所以我一直在编写脚本,当用户单击 + 按钮时,它会在 addnew div 之前添加一个新按钮。

根据我的理解,我遵循了正确的设置来设置 insertAdjacentHTML

https://codepen.io/russellharrower/pen/rzxLRj

html

<!-- on Morph FAB Display -->
<div id="newpetprofiles" class="fixed-action-btn">

  <!-- beforebegin -->  
  <div id="overlay" class="blue-grey hidden">  
   <div id="form">
 DEPENDING ON IF IT IS THE ADD BUTTON OR A IMAGE OF THEIR KID A DIFFENT FORM SHOULD SHOW.
</div>
  </div>


   <!-- afterbegin -->
  <div class="btn-floating btn-large blue waves-effect waves-light">
    <img src="https://ipet.xyz/template/images/russellharrower.jpg"/>
  </div>
   <!-- beforeend -->
  <div id="addnew" name"addnew" class="btn-floating btn-large blue waves-effect waves-light">
    <i class="material-icons">
    add
  </i>
  </div>
  <!-- afterend -->
</div>

JS

$('div.btn-floating').click(function () {
 //alert(this.id);
 if(this.id === "addnew"){  

 dl= document.getElementById("newpetprofiles")
dl.insertAdjacentHTML('beforeend','<div class="btn-floating btn-large blue waves-effect waves-light"><img src="https://ipet.xyz/template/images/russellharrower.jpg"/></div>');

 }

  var morphFAB = $('#overlay');
  morphFAB.toggleClass('visible hidden');
  if (morphFAB.hasClass('visible')) {
    $('#form').addClass('animated slideInUp');
  }else {
    $('#form').removeClass('animated slideInUp');
  }
})

最佳答案

您的位置错误 - 请参阅下面代码中的注释,了解 insertAdjacentHtml 的正确位置。 :

<!-- on Morph FAB Display -->
<!-- beforebegin --> 
<div id="newpetprofiles" class="fixed-action-btn">
   <!-- afterbegin -->
  <div id="overlay" class="blue-grey hidden">  
   <div id="form">
 DEPENDING ON IF IT IS THE ADD BUTTON OR A IMAGE OF THEIR KID A DIFFENT FORM SHOULD SHOW.
</div>
  </div>
  <div class="btn-floating btn-large blue waves-effect waves-light">
    <img src="https://ipet.xyz/template/images/russellharrower.jpg"/>
  </div>
  <div id="addnew" name"addnew" class="btn-floating btn-large blue waves-effect waves-light">
    <i class="material-icons">
    add
  </i>
  </div>
  <!-- beforeend -->
</div>
<!-- afterend -->

关于javascript - insertAdjacentHTML 未在 beforeend 之前添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45603028/

相关文章:

javascript - 用 proxyquire 模拟 MongoDB

php - 您可以访问 iframe 加载外部网站的内容吗?

javascript - AJAX 成功功能有效,但文件未运行

javascript - ajax 重新加载 ul/li div 并保留事件监听器(insertAdjacentHTML 除外)

javascript - $(document).ready() 也准备好 CSS 了吗?

javascript - 为什么使用 jQuery 每次单击两次后添加 after() 文本?

javascript - 淡入淡出一系列图像,但一次只显示几张

javascript - 在 jQuery 动画效果中用背景图像替换背景颜色

javascript - 为什么将新创建的元素插入现有元素会解析 [Object HTMLElement]?