Wordpress - $ not defined using jQuery in WordPress
You can wrap your javascript inside a self-invoking function, then pass jQuery
as an argument to it, using $
as the local variable name. For example:
(function($) {
$(document).ready(function(){
$("ul.vimeo_desc_feed li a").click(function(){
alert($(this).attr('href'));
return false;
})
});
}(jQuery));
should work as intended.
If I remember correctly the WP-supplied version of jQuery (the one you get if you wp_enqueue_script('jquery')
) puts jQuery in no-conflict immediately, causing $
to be undefined.
You're almost there!
jQuery(document).ready(function($){
$("ul.vimeo_desc_feed li a").click(function(){
alert($(this).attr('href'));
return false;
})
});
You have to pass a reference to jQuery as the $
function into your method or it won't work. If you just place a $ inside the first function()
call as I did above, things will be working just fine.
Passing a function to jQuery is shorthand for $(document).ready(...)
then by placing $
as the first parameter of your callback, you create an alias for jQuery within that callback:
jQuery(function($) {
$("ul.vimeo_desc_feed li a").click(function(){
alert($(this).attr('href'));
return false;
});
});
You can see the documentation for this here.