JavaScript - мой собственный метод документа - PullRequest
1 голос
/ 26 июня 2011

Я написал собственный метод документа, и он работает.Рассмотрим его использование следующим образом:

document.myMethod();

Как я могу динамически выяснить, какие точечные обозначения использовались до myMethod?

document.getElementsByTagName('div')[0].myMethod();

Я пытался this, но это не работает,Есть идеи?

Обновление: я делаю свой собственный getElementsByClass('class').Поэтому я должен знать, какие элементы следует проверять.document.myMethod() должен проверять все элементы, но document.getElementById('id').myMethod() только дочерние элементы #id.Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 26 июня 2011

Прежде всего, myMethod не существует на «всех» DOM Element с, если вы не включите его в Element.prototype и т. Д., И вы действительно не хотите идти по этому пути.

Но если вы это сделаете, то this будет ссылаться на Element, для которого вызывается метод.

0 голосов
/ 26 июня 2011

Функции обозначения цепочки точек (я думаю) являются просто синтаксическим сахаром - вы в основном вызываете последнюю функцию на выходе предыдущей функции.Насколько я знаю, myMethod () не сможет узнать, что это была за функция, при условии, что она была введена, если вы не предоставили ее в качестве некоторого параметра в функции, например:

document.getElementsByTagName('div')[0].myMethod('getElementsByTagName');

Зачем вам эта информация?

...