Я пытаюсь добавить метод к элементу элемента prototype, который называется locateAncestor(), который найдет и вернет узел DOM на основе tagName. Мой код выглядит следующим образом:Prototype addMethods возвращает «undefined»
Element.addMethods({
locateAncestor: function(element,tag) {
element.ancestors().each(function(e) {
if (tag == e.tagName) {
alert(e.id);
return e;
}
});
}});
Тогда я называю такой код:
var form = target.locateAncestor('FORM');
alert(form);
Это, конечно, вызывает два Alert() коробки. Первый, который вызывается внутри цикла each() и успешно предупреждает идентификатор элемента (в данном случае - элемент FORM). Ниже этого первого предупреждения() я возвращаю «e» (который при применении alert() предупреждает «HTMLFormElement», как и ожидалось. Однако, когда эта функция вызывается, второе alert() возвращает «undefined», а не значение Я ожидаю, что будет возвращен, который, конечно, «HTMLFormElement».
некоторый важный шаг я здесь отсутствует, чтобы добавить метод, то, что я должен сделать, чтобы вернуть значение?