使用javascript以模块化方式隐藏元素

hiding an element with javascript, in a modular way

本文关键字:隐藏 元素 方式 模块化 javascript 使用      更新时间:2023-09-26

我正试图在jquery中创建一些类似于.hide的功能,但只是使用简单的javascript,以下是我目前所拥有的:

(function() {
addLoadEventHandler(function() {

        getByName = (function(name){ 
            return document.getElementsByTagName(name)
        })
        hide = (function(){
            return style.display = 'none'
        })
    });
return {
    getByName: getByName,
    hide: hide
};
}());

非常不完整,但我在这里是不是沿着正确的轨道前进。对不起,有点麻烦。

隐藏函数需要上下文。要么像jQuery那样包装DOMElement,要么需要将其传递进来

var incomplete = (function () {
    function hide(DOMElement) {
        DOMElement.style.display = 'none';
    }
    return {
        hide: hide
    };
}());
// use like:
incomplete.hide(document.getElementById("container"));

var incomplete = function (context_element) {
    function hide() {
        context_element.style.display = 'none';
    }
    return {
        hide: hide
    };
};
// use like:
incomplete(document.getElementById("container")).hide();    // like jQuery

有点像,你需要把它分配给

mymodule = function () {
        //"private" variables:
        var privateVar = "only from within this module."
        //"private" methods:
       var getByName = function(name){ 
           return document.getElementsByTagName(name)
       }
       hide = function(){
           return style.display = 'none'
       }
       // public interface
        return  {
           getByName: getByName,
           hide: hide           
                }
        };
}(); // the parens here cause the anonymous function to execute and return