Reading the code, I see the following:
$noConflict="jQuery.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');
but it should look like this:
JHTML::script('jquery.js',$base,true);
$document->addScript($base,'jquery.js');
$document->addScript($base,'jquery.dataTables.js');
$noConflict="jQuery.noConflict();";
$document->addScriptDeclaration("jQuery(document).ready(function($){jQuery('#example').dataTable();});");
Now, here's why:
Javascript , . jQuery.noConflict() jQuery datatable, , .