Skip to main content
 首页 » 编程设计

jquery之如何使用 $ 以及 jQuery

2026年04月21日5340fff_TT

我有一个 opencart 项目,其中使用了 $('#some-id') 以及正在运行的 jQuery('#some-id')完美,但是将项目从 1.5 升级到 2.1 后,它只接受 jQuery('#some-id') 并抛出 $('#some-id') 错误如

TypeError: $(...) is null

以下是我的一百个 ajax 函数示例之一。

    $('#button-coupon').on('click', function() { 
        $.ajax({ 
            url: 'index.php?route=total/coupon/coupon', 
            type: 'post', 
 
/*Here $ is not working jQuery works. Not just here, but in each line where $ is used its throwing error, untill & unless I replace it with jQuery.*/ 
            data: 'coupon=' + encodeURIComponent($('input[name=\'coupon\']').val()), 
            dataType: 'json', 
            success: function(json) { 
                $('.alert').remove(); 
            } 
        }); 
    }); 

有什么办法可以让它们都工作吗?我不想浪费时间将 $ 替换为 jQuery?

以下是 Firebug 控制台中的错误快照。

如果我将 $('input[name=\'coupon\']') 更改为 jQuery('input[name=\'coupon\']') 比它移动到使用 $ 的其他行。例如,请参见下图。

我尝试过使用最新版本和旧版本的 jQuery,但问题仍然存在。

请您参考如下方法:

由于您没有包含有关代码的任何信息,这只是一般提示,但可能值得您深入研究:

在尝试防止不同 JS 框架和库(全部使用 $ 快捷方式)之间的冲突时,通常所做的就是以这种方式封装您自己的库或模块:

jQuery.noConflict(); 
(function($) { 
    // your library or modules here 
})(jQuery); 

这样,当定义立即“ self 调用”时,标识符 jQuery 只需在您自己的代码之外指定一次。在该 block 内,jQuery 库现在再次在快捷方式 $ 下被识别,但它不会与该代码外部该快捷方式的其他用法发生冲突不再阻止。

这是有关该主题的提示汇编:https://api.jquery.com/jquery.noconflict/