removeChild()不起作用

时间:2016-12-01 14:01:38

标签: javascript dom

我希望在提交表单后显示一条消息,然后从页面中删除该表单。

脚本的第一部分正在运行,但第二部分(我尝试删除表单的地方)没有。

有什么建议吗?

<script>
$(document).ready(function () {
    if(window.location.href.indexOf("footer") > -1) {
       document.getElementById("thanksForMessage").innerHTML = "<h2>Thanks for the message. I will contact you shortly.</h2>";
       var formDiv = document.getElementById("formwell");
       var childForm = document.getElementsByTagName("form");
       formDiv.removeChild(childForm);
    }
});

</script>

2 个答案:

答案 0 :(得分:2)

   var childForm = document.getElementsByTagName("form");

这会返回一个NodeList(就像一个数组),而不是一个元素。 removeChild需要一个元素。您可以通过以下方式传递第一个:

   formDiv.removeChild(childForm[0]);

答案 1 :(得分:0)

尝试使用类似此代码的内容

$(document).ready(function () {
if(window.location.href.indexOf("footer") > -1) {
   $("#thanksForMessage").html("<h2>Thanks for the message. I will contact you shortly.</h2>");
   var formDiv = $("#formwell");
   var childForm = "form";
   formDiv.remove(childForm);
}

});