我遇到了令人沮丧的事情。我在我的网站上使用的所有jQuery都已完全停止工作。这就是发生的事情。
今天早上,一切都正常运作。我将所有jQuery都放在一个外部scripts.js文件中,然后我只是在我的一个语句中添加一些东西:
$(function() {
if (location.pathname == "/shoppingcart.asp")
|| location.pathname == "/ShoppingCart.asp") {
$('.v65-cart-tax-row').css("display", "none"); <!-- tax hide -->
$('#v65-cart-empty-details-cell').before($('.v65-cart-total-estimate-row')); <!-- fix total price location -->
$('#v65-cart-shipping-details-container').css("display", "none"); <!-- hide calculate shipping box -->
}
}
});
我只是在if语句中添加了一个css更改,并保存了文件,但是当我重新加载我的网站时,没有任何规则被应用到目标页面(/shoppingcart.asp)。请记住,我所有的其他jQuery脚本都在同一个页面上,它们都在工作。
所以我尝试将此脚本移动到HTML文件中自己的脚本标记中,但仍然无效。那么我试着测试一下。我删除了包含所有jQuery的scripts.js文件的链接,并保存了该文件。然后,我只是将链接粘贴回文件中,保存它,现在没有它正在工作!
经过一段时间的研究后,我发现通常当jQuery停止工作时,因为jQuery文件的链接在更新它时会停止生效。但我正在使用的电子商务平台为我们提供了链接,这些链接是//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js和//ajax.googleapis.com/ajax/libs/ jqueryui / 1.8.4 / jquery-ui.min.js,他们似乎仍然工作得很好。此外,它仍然无法解释为什么他们在我编辑它们之后才停止工作。
更糟糕的是他们提供的脚本:
<script>
$(document).ready(function () {
jQuery('#breadcrumb').closest('td').remove();
});
</script>
即使在我将其移除并重新插入后,仍然可以正常工作。
有没有人有任何帮助或建议?我不知道该怎么做,并且完全被这个打败了。整个夏天的工作刚刚眨眼间消失了。
答案 0 :(得分:6)
您遇到语法错误:
if (location.pathname == "/shoppingcart.asp")
|| location.pathname == "/ShoppingCart.asp") {
应该是:
if (location.pathname == "/shoppingcart.asp"
|| location.pathname == "/ShoppingCart.asp") {
最后还有额外的}
。
Javascript语法错误可以打破整个事情。请务必在将来检查您的javascript控制台,并使用jshint或jslint等工具。