jquery - 单击 addClass 函数仅在页面上调用而不是在外部 js 文件中调用时才有效

标签 jquery css external

我确定这是一个 super 菜鸟的问题,但作为一个 super 菜鸟,我已经准备好接受攻击了 ;)

我正在使用以下函数将类添加到单击的元素:

$(".ch-buyBt").click(function()  {
    var nowincart = $(this);
    nowincart.addClass('ch-buy-incart');
});

我遇到的问题是我想将这个函数存储在一个包含许多其他函数的外部 js 文件中。当我这样做时,该功能不再有效。

我让它工作的唯一方法是像这样将它嵌入到实际页面中:

<script type="text/javascript">
$(".ch-buyBt").click(function()  {
    var nowincart = $(this);
    nowincart.addClass('ch-buy-incart');
});</script>

有人可以解释一下为什么这只适用于页面而不适用于外部 js 文件吗?我想我只是把它称为错误之类的。

最佳答案

试试这个:

$(document).ready(function(){
    $(".ch-buyBt").click(function(){
        var nowincart = $(this);
        nowincart.addClass('ch-buy-incart');
    });
});

确保js代码是在加载外部js文件后执行。

关于jquery - 单击 addClass 函数仅在页面上调用而不是在外部 js 文件中调用时才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17139547/

相关文章:

iOS:如何选择使用哪个麦克风(内置/外接)?

jquery - highcharts 单击时更改渲染图像源

visual-studio - 在 Visual Studio 中向项目添加引用和添加 Nuget 包之间的区别

jquery - 对 WCF 服务进行 AJAX 调用的最佳选择是什么?

jquery - 如何在 jquery mobile 中将标签放在输入元素顶部

css - 连接 .content :hover and img:hover, 以便它们同时激活

css - 文本溢出 :ellipsis for the first line when line breaks

javascript - 从 html5 应用程序打开 pdf 的外部链接 - PhoneGap

javascript - 通过标记名在元素内搜索元素

javascript - 检查滚动条是否到达了带有jquery的div