У меня есть функция 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'.
Теперь я хотел бы создать еще одну функцию (внутри функции Element), которая называется style, которая будет изменять 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 или другие подобные фреймворки! :)
С уважением!