JavaScript - 我自己的文档方法
我写了一个自己的文档方法并且有效。像这样考虑它的使用:
document.myMethod();
如何动态地找出 myMethod 之前使用了哪些点符号?
document.getElementsByTagName('div')[0].myMethod();
我尝试了这个
,但它不起作用。有什么想法吗?
更新:我正在制作自己的 getElementsByClass('class')
。所以我必须知道应该检查哪些元素。 document.myMethod()
应检查所有元素,但 document.getElementById('id').myMethod()
仅检查 #id 的子元素。我该怎么做?
I wrote an own document method and it works. Consider the use of it like this:
document.myMethod();
How can I dynamically find out what dot notations were used before myMethod?
document.getElementsByTagName('div')[0].myMethod();
I tried this
but it does not work. Any ideas?
Update: I'm making my own getElementsByClass('class')
. So I have to know what elements should be checked. document.myMethod()
should check all of the elements but document.getElementById('id').myMethod()
only the childs of #id. How do I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,
myMethod
并不存在于“所有”DOMElement
上,除非你把它放在Element.prototype
等上,而且你真的不知道不想走这条路。但如果这样做,那么
this
将引用调用该方法的Element
。First of all,
myMethod
does not exist on 'all' DOMElement
s unless you put it onElement.prototype
etc, and you really don't want to go down this path.But if you do, then
this
will refer to theElement
on which the method is invoked on.链接点符号函数(我认为)只是语法糖 - 您基本上是在前一个函数的输出上调用最后一个函数。据我所知, myMethod() 无法知道该函数的输入是什么,除非您将其作为函数的某种参数提供,例如:
您为什么需要此信息?
Chaining dot notation functions is (I think) just syntactic sugar - you're basically calling the last function on the output of the previous function. As far as I'm aware myMethod() would have no way to know what the function was that provided it's input was, unless you provided it as some kind of parameter on the function, for instance:
Why do you want this information?