我有一個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