如果元素存在,如何阻止JavaScript执行?

时间:2012-09-14 14:25:40

标签: javascript jquery html firefox-addon firefox-addon-sdk

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

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

2 个答案:

答案 0 :(得分:8)

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

jQuery(document).ready(function($)
{
    if ( $('#someElement').length ) return;
    // All of your code should go here...
});

答案 1 :(得分:0)

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

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

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