$.noConflict();使$符号回到加载 jQuery 之前的先前定义。如果没有其他库使用该符号,则返回到undefined. 这就是它的目的。
如果您打算使用它并且不定义任何其他符号作为 的快捷方式jQuery,那么您必须使用jQueryjQuery 函数的符号而不是$.
改为这样做:
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function () {
jQuery('a[href*=".png"], a[href*=".gif"], a[href*=".jpg"]').addClass('zoom');
});
</script>
或者,如果您只是尝试$在处理程序内部使用.ready(),那么您可以使用以下功能分配它.ready():
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function ($) {
$('a[href*=".png"], a[href*=".gif"], a[href*=".jpg"]').addClass('zoom');
});
</script>
或者,如果您的代码不仅在.ready()要使用的处理程序中$,您可以$在闭包中重新定义,让其他库$在自己的代码中使用,但您可以在闭包内的 jQuery 代码中将其用于 jQuery:
<script type="text/javascript">
$.noConflict();
(function($) {
$(document).ready(function () {
$('a[href*=".png"], a[href*=".gif"], a[href*=".jpg"]').addClass('zoom');
});
$.each(whatever...)
})(jQuery);
</script>
或者,您可以为 jQuery 定义一个新的快捷方式符号:
<script type="text/javascript">
var $$ = $.noConflict();
$$(document).ready(function () {
$$('a[href*=".png"], a[href*=".gif"], a[href*=".jpg"]').addClass('zoom');
});
</script>