Remove clicked
  • onclick
  • 前端 未结 6 786
    醉酒成梦
    醉酒成梦 2020-12-15 06:56

    I have this JavaScript code:

    window.onload = init;
    
    function init () {
        var button = document.getElementById(\"submitButton\");
        button.onclick = addIt         
    
    
            
    6条回答
    •  青春惊慌失措
      2020-12-15 07:40

      I'd suggest simplifying things a little:

      Object.prototype.remove = function(){
          this.parentNode.removeChild(this);
      };
      
      var lis = document.querySelectorAll('li');
      
      for (var i = 0, len = lis.length; i < len; i++) {
          lis[i].addEventListener('click', remove, false);
      }
      

      JS Fiddle demo.

      Of course, having done the above, I'd then have to go further (possibly because I like jQuery too much) and also:

      Object.prototype.on = function (evt, fn) {
          var self = this.length ? this : [this];
          for (var i = 0, len = self.length; i < len; i++){
              self[i].addEventListener(evt, fn, false);
          }
      };
      Object.prototype.remove = function(){
          var self = this.length ? this : [this];
          for (var i = 0, len = self.length; i < len; i++){
              self[i].parentNode.removeChild(self[i]);
          }
      };
      
      document.querySelectorAll('li').on('click', remove);
      

      JS Fiddle demo.

    提交回复
    热议问题