我有一个JS功能选择基于参数连续JS方法
function getElement() {
var scope = document;
this.by = function(data) {
for (key in data) {
if (key == 'id') scope = scope.getElementById(data.id);
if (key == 'tag') scope = scope.getElementsByTagName(data.tag);
}
return scope;
}
}
function getEl(data) { return new getElement().by(data); }
这就是所谓的喜欢getEl(id : 'divId', tag : 'span')
,它会在div“DIVID选择”选择全部跨度的一些元素。
现在,我想做另一个函数(内部函数元素),称为风格,将改变所有先前选定的跨度的CSS。
喜欢的东西
function getElement() {
var scope = document;
this.by = function(data) {
for (key in data) {
if (key == 'id') scope = scope.getElementById(data.id);
if (key == 'tag') scope = scope.getElementsByTagName(data.tag);
}
return scope;
}
this.style = function(data) {
console.log(data);
}
}
我希望能够像做getEl({id : 'divId', tag : 'span').style({display : 'none'})
但是,这似乎并没有工作,我收到一个getEl({id: "divId", tag: "span"}).style is undefined
错误。
ps:这仅用于学习目的,请不要提示jQuery或其他此类框架! :)
亲切的问候!
“连续的js方法”被称为链接 – 2011-04-08 18:20:32
:)谢谢!因为你可能认为JS对我来说很新。 – 2011-04-08 18:22:40
顺便说一下,'getElementById'只支持'Document'对象。它不适用于'元素'或'节点' – cem 2011-04-08 18:27:02