我正试图在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