Я намагаюся написати невелику перевірку 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;
}