Prototype isn't as accomodating, but jQuery can be set up to use a different identifier than $
:
var $j = jQuery.noConflict();
// Use jQuery via $j
$j(document).ready(function(){
$j("div").hide();
});
// Use Prototype with $(...), etc.
$('someid').hide();
Source: http://docs.jquery.com/Using_jQuery_with_Other_Libraries
This way both libraries can be used side by side.
Now if your own code all works using the $
sign for jQuery calls, you can still use that identifier in your own code, by wrapping it in onload-methods:
jQuery(function ($) {
// Use jQuery with the standard $ sign in this scope,
// even if it is assigned to prototype outside of this scope
$('#id').whatYouWant();
});