2017-01-23 137 views
1

我有一個表單,並嘗試刪除按鈕單擊它。從香草DOM刪除元素javascript

<!DOCTYPE html> 
<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
    <button onclick="remove()">remove</button> 

    <form action="test.html" class="contactForm" dir="ltr" enctype="multipart/form-data" method="post"> 
     <ol> 
      <li class="csc-form-9 csc-form-element csc-form-element-textline"> 
       <label for="field-9">Vorname</label> 
       <input class="inputFormText" id="field-9" name="tx_form[firstname]" type="text"/> 
      </li> 
      <li class="csc-form-10 csc-form-element csc-form-element-textline"> 
       <label for="field-10">Nachname</label> 
       <input class="inputFormText" id="field-10" name="tx_form[lastname]" type="text"/> 
      </li> 

     </ol> 
    </form> 

    <script> 
    function remove() 
    { 
     var x = document.getElementsByClassName("contactForm"); 

     console.log(x); 

     x.remove(); 
    } 
    </script> 

</body> 
</html> 

根據this article應該僅由DOM元素上調用remove()成爲可能。然而,我得到:

(index):30 Uncaught TypeError: x.remove is not a function at remove ((index):30) at HTMLButtonElement.onclick ((index):7)

回答

4

getElementsByClassName方法返回元件的陣列狀的集合,因此通過索引獲得的元素。

x[0].remove(); 

或者使用querySelector方法來獲取一個元素。

var x = document.querySelector(".contactForm"); 
2
var x = document.getElementsByClassName("contactForm")[0];