2015-09-17 62 views
1

我相信我几乎有这个工作。我已经有了一个页脚,但是当点击这个按钮时,它会随着它的内容一起向下滑动。在滑落之后,我已经使用javascript来移除该页脚,并且它的内容已经创建了另一个页脚元素。我已附加它包括一个div。当我检查检查器元素时,它显示新的页脚和空的div存在。但是,当我将innerHTML添加到div的id时,它不会用代码填充它。下面是JavaScript的代码:innerHTML不添加html内容

var slide = document.getElementById('slide'); 
var info = document.getElementsByClassName('info'); 
var input = document.getElementById('input'); 
var footer = document.getElementById('footer'); 
var addFooter = document.createElement('footer'); 
var newFooterContent = '<div class="col-md-8 col-md-offset-2"><input type="text" class="form-control move-right" size="105" placeholder="Say &ldquo;Hello&rdquo; or whatever else is on your mind"> </div> <div class="col-md-2"> <button type="submit" class="btn btn-default">Submit</button> </div>' 



$(document).ready(function() { 
    $("#hidePic").click(function(e) { 
     e.preventDefault(); 
     $("#slide").slideToggle("fast", function() { 
      footer.parentNode.removeChild(footer); 
      document.body.appendChild(addFooter); 
      addFooter.appendChild(input); 
      input.addInnerHTML = newFooterContent; 
     }); 
    }); 
}); 
+3

是不是因为你用addInnerHTML而不是innerHTML的? –

+1

如果你使用jQuery,那么为什么不'input.html(newFooterContent)'等等。 – Shikkediel

回答

1

更换

input.addInnerHTML = newFooterContent; 

input.innerHTML = newFooterContent; 

,它应该工作

+0

工作原理是,当我检查检查器元素时,它显示所有内容现在位于新的页脚部分,但是 - 它们都不显示页面上的任何位置。是因为我使用jQuery来滑动原始页脚(即使我在创建新页脚之前删除了旧脚注标记?) – Mike

+0

如果您在检查器中看到内容而不是在屏幕上,那么您的样式问题 - 一些CSS规则阻止你看到内容。它可以有很多种,从display:none到位置:绝对,坐标位于屏幕之外。不过,jQuery不应该成为问题。 – metal03326