/ / проблеми з невеликою бібліотекою JS - javascript, html5, function, dom

проблеми з невеликою бібліотекою JS - javascript, html5, функція, dom

Я намагаюся написати невелику перевірку JSбібліотека, для веселощів і для вивчення JS. ідея полягає в циклінгу через елементи в тег форми та перевірки чи дійсний елемент вводу на основі інших спеціальних атрибутів.

Я тепер застряг, як використовувати елемент, щоб викликати функцію в тому ж "прототипі"

це базується на навчальному посібнику, який я намагаюся розробити, дайте мені знати, якщо політика SE вимагає згадування джерела цього коду

код буде викликаний з html doc за допомогою цієї функції

<script type="text/javascript">
function processForm() {
_("form1").validate();
}
</script>

це код lib:

function _(id) {
if (id) {
if (window === this) {
return new _(id);
}

// We"re in the correct object scop:
// Init our element object and return the object
this.e = document.getElementById(id);
return this;
} else {
return "NO ID PARAM WAS GIVEN";
}
}
_.prototype = {
validate    :function () {
try {
var elem = this.e.elements;
for(var i = 0; i < elem.length; i++){
//alert(elem[i].getAttribute("id"));
// STUCK HERE, how to call the bgcolor function of this prototype
so i can change the bgcolor for the current elem of the loop ?
}
}
catch(err)
{
alert(err.message);
}
},

bgcolor: function (color) {
this.e.style.background = color;
return this;
},
};

Відповіді:

1 для відповіді № 1

Можливо щось на кшталт:

for (var i = 0; i < elem.length; i++){
this.bgcolor(elem[i], "red");
}

і

bgcolor: function (el, color) {
el.style.background = color;
return this;
}

або, можливо, необов'язковий елемент, за замовчуванням this, зберігаючи синхронізацію з існуючим кодом, який працює на самому атрибуті.

bgcolor: function (color, el) {
el = el || this;
el.style.background = color;
return this;
}