0

私はJSクラスを持っています

function controls() {
}

プロトタイプを使用してメソッドを追加しています

controls.prototype.treeView = function (selector) {
    var el = document.querySelectorAll(selector);

    for (var i = 0; i < el.length; i++) {
        el[i].innerHTML = '<ul></ul>';
    }

    return el;
}

今私がやりたいことは、このメソッドtreeViewにメソッドを追加することです. 別のアプローチを念頭に置いている場合は、共有してください。

編集:これは、よくカプセル化されている私が見つけた解決策です

function controls() {

    var TreeView = function (el) {
        this.el = el;
    }

    TreeView.prototype.addNode = function () {
        for (var i = 0; i < this.el.length; i++) {
            var tree = this.el[i].getElementsByTagName('ul')[0];
            tree.innerHTML += '<li></li>';
        }
    }

    function treeView(selector) {

        var el = document.querySelectorAll(selector);

        for (var i = 0; i < el.length; i++) {
            el[i].innerHTML = '<ul></ul>';
        }

        return new TreeView(el);
    }

    return {
        treeView: treeView
    }
}
4

0 に答える 0