如何设置整个网站或一个网页或两者的JavaScript / jQuery代码?

谁可以给我解释一下这个。 我在我的网站上有1个js文件,主要使用jQuery,我所有的js代码都使用所有页面上的元素,除了1个js代码,它只针对一个页面上的元素。

所以当我去那个页面时,我没有得到JavaScript错误,但是当我去任何其他页面时,它给了我一个$..Undefined该元素的$..Undefined错误。 我正在使用.offset().top代码的.offset().top代码。 我假设这是因为如果你只针对一个页面上的元素,我应该只在该页面上包含一个脚本,而不是放在我的js文件中? 这是否包含所有jquery函数或只是使用.offset()和/或其他特定的东西? 我的假设是否正确?


只需在JS文件中快速检查该元素即可。 例如,仅在一个页面上的元素:

<span id="coolSpan">span stuff</span>

JS:

if ($("#coolSpan").length) {
    //element exists, bind the handler
    $("#coolSpan").click(function() {
        console.log("I exist!");
    });
}

我喜欢做的是写下我的js页面,如下所示:

var initMyFunction = function(){
     *code for initMyFunction*
};

var initMyOtherFunction = function(){
     *code for initMyOtherFunction*
};

然后在我的标记中,我可以调用我想要在该页面上运行的函数,只要在我调用脚本后调用它即可。

<!-- Scripts -->
<script src="js/main.js"></script>

<!-- Inits -->
<script>initMyFunction();</script>

它的好处是只需运行你需要在该页面上运行的代码,而不是在每个页面上运行所有的js。


如果您尝试访问不存在的元素的函数,则无论您使用的是何种函数,都会得到错误。

解决方案:

  • 就像你说的那样,你可以把特定的代码放在一个单独的.js文件中,并且只将该文件包含在适当的HTML页面中。

  • 你可以检查元素的存在,然后才能继续操作它。 例如:

  •     var elem = document.getElementById("mySpecialElement");  
        if (elem) {  
            /* Element exists, it is safe to manipulate it */  
            $(elem).offset()...  
        }
    
    链接地址: http://www.djcxy.com/p/83707.html

    上一篇: How to set up javascript/jquery code for whole site or one page or some of both?

    下一篇: Check if any element with a certain class is empty