Я хотел бы создать цепочку типов jQuery для элемента, созданного с помощью javascript document.createElement(). Следующий код генерирует ошибку «Невозможно вызвать метод appendChild» неопределенного «всякий раз, когда я пытаюсь запустить мой метод« append »для родительского объекта, который был определен моей функцией. Любая помощь или предложения приветствуются.Как применить метод цепочки на javascript document.createElement
this.el = (function() {
function _el() {
var self = this,
ele;
this.add = function (tag) {
ele = document.createElement(tag);
return this;
},
this.byId = function (id) {
ele = document.getElementById(id);
return this;
},
this.byClass = function (cl) {
ele = document.getElementsByClassName(cl);
return this;
},
this.id = function (name) {
ele.id = name;
return this;
},
this.cl = function (name) {
ele.className = name;
return this;
},
this.css = function (style) {
_this.setCSS(ele, style);
return this;
},
this.html = function (str) {
ele.innerHTML = str;
return this;
},
this.append = function (parent) {
if (parent.nodeType === 1) {
parent.appendChild(ele);
}
console.log(ele);
console.log(ele.nodeType);
return this;
};
return this;
}
return new _el();
}());
Вот как я использую эту функцию в своем коде. Первое использование работает, а второе - нет. Это имеет какое-то отношение к типу объекта, возвращаемого моей функцией, но я не уверен, как исправить.
var dialog = hlp.el.add("div").cl("alphaDialog").append(document.body);
var top = hlp.el.add("div").append(dialog);
'.append' возвращает' this ', являющийся объектом '_ele'. Он должен вернуть ваш HTML-элемент. В 'this.append'' return ele; ' – Maxali