0

我有一个 Firefox 插件,它在 sub.example.com 的每个页面上注入/执行一个 jQuery 脚本。由于设计不佳,该脚本无法在网站的一页上运行。如果某个元素位于页面上,有什么方法可以阻止脚本执行?

编辑:我正在使用的脚本必须在DOM 加载之前执行。有什么方法可以访问 HTML 文件本身并找出该元素是否存在?

4

2 回答 2

8

由于 jQuery 集合只是增强了数组,它们每个都有一个length属性,告诉你它匹配了多少元素:

jQuery(document).ready(function($)
{
    if ( $('#someElement').length ) return;
    // All of your code should go here...
});
于 2012-09-14T14:27:14.650 回答
0

由于您使用的是 jQuery,我假设您的脚本包含在$(document).ready回调中,如果是这样:

$(document).ready(function() {
    if ($('#breakOnThisElem').length) {
       return;
    }
});

如果您的代码没有包含在这样的函数中:更改它!:)

于 2012-09-14T14:28:18.487 回答