>

이를 호출하는 모든 것을 제거하는 일반 함수를 만들려고합니다. 내 코드는 다음과 같습니다.

function deletethis(n){
//n is unused in this shortened snippet
this.parentNode.removeChild(this);
}

<button onclick="deletethis(5)">Click to remove</button>

예상 동작 : 버튼이 제거되었습니다.

실제 행동 : 오류 정의되지 않은 'removeChild'속성을 읽을 수 없습니다


  • 답변 # 1

    제임스가 의견에서 지적한 것처럼. 와이즈 비즈  자동으로 전달되지 않습니다. 이것을 시도하십시오

    this
    
    
    function deletethis(ele, n){
    //n is unused in this shortened snippet
    ele.parentNode.removeChild(ele);
    }
    
    

  • 답변 # 2

    ID를이 함수에 전달하면 작동합니다 :)

    <button onclick="deletethis(this, 5)">Click to remove</button>
    
    

  • 답변 # 3

    인라인 이벤트 리스너 및 function removeElement(elementId) { // Removes an element from the document var element = document.getElementById(elementId); element.parentNode.removeChild(element); } 를 사용하지 마십시오  올바르게 설정됩니다 :

    this
    
    
    function deletethis(n){
      this.parentNode.removeChild(this);
    }
    document.querySelector("button").addEventListener("click", deletethis);
    
    

  • 답변 # 4

    이벤트도 이용할 수 있습니다

    <button>Click to remove</button>
    
    
    function deletethis(event) {
    event.currentTarget.remove();
    }
    
    

    <button onclick='deletethis(event)'>hello</button>

관련 자료

  • 이전 botframework - botbuilder 유형 오류 - 정의되지 않은 'listen'속성을 읽을 수 없습니다
  • 다음 ibm datapower - 여러 규칙에 대해 동일한 작업 실행