我有代码:
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");
答案 0 :(得分:0)
几个错误
return document.querySelectorAll(e);
正在返回NodeList
页面功能NodeList
没有append
方法this.append
永远不会被称为您可以修改以下可以使用的代码
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');