如何设置整个网站或一个网页或两者的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?