如何拥有两个对象javascript

时间:2016-08-23 11:10:04

标签: javascript oop

我有代码:

function webdata(){
  this.page = function(e){
    return document.querySelectorAll(e);
    this.append = function(t){
      e.innerHTML += t;
    }
  };
}

var wb = new webdata();

我什么时候打电话:wb.page("html").append("Text");

我得到:TypeError: wb.page(...).append is not a function

我需要一种在jQuery之类的对象中使用对象的方法。例如$("html").append("Text");

1 个答案:

答案 0 :(得分:0)

几个错误

  1. return document.querySelectorAll(e);正在返回NodeList页面功能NodeList没有append方法
  2. this.append永远不会被称为
  3. 您可以修改以下可以使用的代码

    function webdata(){
      this.page = function(e){
        e = document.querySelectorAll(e); // Get All Nodes
        this.append = function(t){
          e.forEach(function(elm){ // Perform operation on each node and append text to that node 
           elm.innerHTML += t; 
          });
          return this;  // Provide chaining for next nodes .append('abc').append('pqr')
        }
        return this; // .page('div').append will be availabel
      };
    }
    
    var wb = new webdata();
    //Now this will work
    wb.page(".question-hyperlink").append('abc').append('pqr');