Javascript JQuery无法工作,因为Mootools已加载到joomla中

Javascript JQuery无法工作,因为Mootools已加载到joomla中,javascript,jquery,mysql,frameworks,mootools,Javascript,Jquery,Mysql,Frameworks,Mootools,我试图将JQuery库包含到joomla中,但它不起作用。许多组件和模块在我的CMS中使用mootools。我认为问题在于这两个框架之间的冲突 我在互联网上搜索了一些文章,但下面的代码仍然没有按预期工作 <?php JHTML::stylesheet('demo_page.css', 'media/system/css/'); JHTML::stylesheet('ftab.css', 'media/system/css/'); JHTML::stylesheet('demo_table.

我试图将JQuery库包含到joomla中,但它不起作用。许多组件和模块在我的CMS中使用mootools。我认为问题在于这两个框架之间的冲突

我在互联网上搜索了一些文章,但下面的代码仍然没有按预期工作

<?php
JHTML::stylesheet('demo_page.css', 'media/system/css/');
JHTML::stylesheet('ftab.css', 'media/system/css/');
JHTML::stylesheet('demo_table.css', 'media/system/css/');
$option="com_mycomp";
$base=JUri::root().'components/'.$option.'/js/';
$document=&JFactory::getDocument();
$noConflict="jQuery.noConflict();";
//$document->addScriptDeclaration($noConflict);
$document->addScriptDeclaration("jQuery(document).ready(function($){jQuery('#example').dataTable();});");
JHTML::script('jquery.js',$base,true);
$document->addScript($base,'jquery.js');
$document->addScript($base,'jquery.dataTables.js');
?>

阅读您的代码,我看到了以下内容:

$noConflict="jQuery.noConflict();";
//$document->addScriptDeclaration($noConflict);
$document->addScriptDeclaration("jQuery(document).ready(function($){jQuery('#example').dataTable();});");
JHTML::script('jquery.js',$base,true);
$document->addScript($base,'jquery.js');
$document->addScript($base,'jquery.dataTables.js');
但它应该是这样的:

JHTML::script('jquery.js',$base,true);
$document->addScript($base,'jquery.js');
$document->addScript($base,'jquery.dataTables.js');
$noConflict="jQuery.noConflict();";
//$document->addScriptDeclaration($noConflict);
$document->addScriptDeclaration("jQuery(document).ready(function($){jQuery('#example').dataTable();});");
现在,原因如下:


Javascript按照它到达页面的顺序进行解释。页面被告知要使用jQuery.noConflict()和jQuery数据表,然后才知道它们是什么。

非常感谢@jcolebrand!它真的帮助我解决了这个问题!然后I
discommented//$document->addScriptDeclaration($noConflict)行另外,您能告诉我如何使用JHTML将属性添加到joomla中的标记中吗。我需要像这样更改它的类
两条注释:我不太了解Joomla,不知道如何告诉您,但是一旦页面加载完毕,jQuery就可以很容易地完成(只有一个标记)。。。如果答案确实对您有所帮助,请参见此处: