JQuery + Prototype.js潜在的冲突

时间:2011-10-04 09:50:57

标签: javascript jquery prototypejs

以下代码存在问题。

<script type="text/javascript" src="<javascript/prototype.js"></script>
<script type="text/javascript">

// <![CDATA[
$(document).ready(function () {

// Start Tabbing <---------------------
// Hide features tab
$('#detailFeatures').hide();

$('#menu a').click(function(){

    if ($(this).attr('rel') == 'pdf') return true;

    selected = $(this).attr('href');

    // Clear active tab
    $('#menu li').removeClass('active');

    // Add class to clicked
    tab = selected + 'Tab';
    $(tab).addClass('active');

    // Hide all content
    $('.productTab').css('display','none');

    // Show selected tab
    $(selected).css('display','block');

    return false;

    });
// End Tabbing <------------------

以上代码用于创建标签面板,允许查看产品概述或产品功能列表

在控制台中我得到错误“未捕获的TypeError:对象#没有方法'准备好'”

我使用lightbox的标准prototype.js和tabing的jquery.js,没有改变。

提前致谢。

1 个答案:

答案 0 :(得分:3)

将代码包装在匿名函数中:

(function($){
   //JQuery code here, example:
   $(document).ready(...);
})(jQuery);

这段代码“将”$“返回”转换为JQuery对象,以便此包装器中的代码可以安全地在$上使用JQuery方法。