Таким обьектам как Array, String, Object и тп. можно добавить метод так:
объект.prototype.имя метода=function(){
...
}
А можно ли добавить метод обьекту document, чтоб например можно было написать так:
form1.validate;
1. kr12 - 11 Декабря, 2005 - 02:52:11 - перейти к сообщению
2. Леголегс - 11 Декабря, 2005 - 04:09:30 - перейти к сообщению
А при чём тут document?
CODE:
Ну ещё можно попробовать HTMLFormElement.prototype.
document.form1.validate = function () {
//...
}
//...
}
3. Дмитрий Б. - 12 Декабря, 2005 - 00:49:20 - перейти к сообщению
Ага. Или Node.prototype (не уверен, что что-то получтся...)
4. kr12 - 14 Декабря, 2005 - 14:21:02 - перейти к сообщению
Это для одно элемента. А как сделать для всех элементов сразу (не перебирать же их). Допустим надо сделать функцию close(){this.innerHTML=''} методом любого элемента ( a, span, td и тп. :)
5. ETC - 14 Декабря, 2005 - 16:12:22 - перейти к сообщению
CODE:
Object.prototype.clearInnerHTML = function() { this.innerHTML = ''; }
close() использовать не стоит, перекрывать стандартные методы...
6. Леголегс - 14 Декабря, 2005 - 16:40:03 - перейти к сообщению
ETC
Я тоже хотел так написать. Но проверил в ИЕ. Не работает
Я тоже хотел так написать. Но проверил в ИЕ. Не работает
kr12 пишет:
А почему бы и не перебрать? А как сделать для всех элементов сразу (не перебирать же их).
CODE:
var tempfunc = function(ths){ths.innerHTML="";};
var tags = ["a","span","td"];
for(var t=0;t<tags.length;t++)
{
var objs=document.getElementsByTagName(tags[t]);
for(var o=0;o<objs.length;o++)
objs[o].clearInnerHTML = tempfunc;
}
var tags = ["a","span","td"];
for(var t=0;t<tags.length;t++)
{
var objs=document.getElementsByTagName(tags[t]);
for(var o=0;o<objs.length;o++)
objs[o].clearInnerHTML = tempfunc;
}
7. Дмитрий Б. - 15 Декабря, 2005 - 02:17:50 - перейти к сообщению
Всё потому, что HTML-тег не является экземпляром объекта Object... (instanceof возвращает false).
8. kr12 - 15 Декабря, 2005 - 02:36:16 - перейти к сообщению
Не перебрать потому, что по ходу могут создаваться новые элементы. Или можно назначить функцию перебора какому-нибудь событию. Хотя, это наверное уже перебор..
9. Леголегс - 15 Декабря, 2005 - 10:29:16 - перейти к сообщению
kr12
Придётся перебирать сразу после создания. HTML-тег имеет совершенно разную "родословную" в разных браузерах, так что прототипы тебе вряд-ли помогут.
Придётся перебирать сразу после создания. HTML-тег имеет совершенно разную "родословную" в разных браузерах, так что прототипы тебе вряд-ли помогут.