2010-10-27 61 views
1

您是否知道使用JQuery获取网页的JavaScript元素的方法? 例如,获取页面中使用的所有JavaScript函数名称等。 谢谢!JQuery - 获取所有JS函数

+0

你是指在页面*中使用的函数名称是什么意思?如何可能驻留在不同范围内的匿名函数? – 2010-10-27 07:24:10

+0

其实我不介意它是函数名还是整个函数体。所以它可能也是匿名函数。 – 2010-10-27 07:42:46

回答

0

不能完全肯定,如果这个工程,但...

$("script").remove(); 

犯规只删除功能,但要完全删除所有脚本元素。

编辑

NVM以为我看你想删除的功能

+2

尝试再次阅读问题。现在阅读你的答案。任何关系? – 2010-10-27 07:25:30

0

让所有的函数名是什么,jQuery的不应该需要 - 它更是一个语言问题。

通过查看window对象,您可以获得全局范围内的所有函数和变量,因为浏览器中全局范围内的所有内容都是该对象的一个​​属性。但是,这将包含全局范围内变量的全部,其中包括默认情况下的那些变量,并且不会被其他脚本添加。

可以使用for...in循环遍历window对象的所有属性。这里是一个例子:

for (var obj in window) { 
     // obj is just the name of each property 
     // do stuff with window[obj] 
    } 

但是,如果这不是绝对必要的,你应该避免它。这是可能的,但在做这件事之前我会考虑三次,并且会非常小心。

+0

感谢您的回答。不幸的是,上面的代码不适用于IE浏览器Chrome和Firefox。你有什么想法我怎么才能使它在IE上工作? – 2010-10-27 07:41:36

+1

@Avi,这是一个旧的错误,遗憾的是没有解决方法。 IE不能枚举全局范围内的任何函数声明(例如'function foo(){}'),属性是在全局对象中创建的,但“for-in”不访问它们。更多信息[here](http://blogs.msdn.com/b/ericlippert/archive/2005/05/04/414684.aspx)。 – CMS 2010-10-27 07:51:48

+0

@CMS - 谢谢! – 2010-10-27 07:55:13