views:

53

answers:

1

Hi guys, I suspect that jQuery is not working ok in my extension... I'm using version 1.3.2, loaded with the following rows:

var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
              .getService(Components.interfaces.mozIJSSubScriptLoader);
loader.loadSubScript("chrome://myext/content/lib/jquery.js", myext);

My problem is that, when running the following rows, the one tagged as 1 works, the 2 raises a misterious error "L is null" related to jQuery:

jQuery.noConflict();
$ = function(selector,context){ return new jQuery.fn.init(selector,myext.doc); };
$.fn = $.prototype = jQuery.fn;
$().ready(function() {
   $("menuitem#a").attr("label","Value set by jQuery!");             // 1
   $("menupopup#listacorsi").append("<menuitem label='newnode!'/>"); // 2

});

I supposed that second row should be good to add a child node to element #listacorsi. menuitem#a is a child of #listacorsi. Could you please help me to understand what's wrong with my coding?

Thanks and best regards,

Livio

A: 

You should be referencing $ variable like this:

$("body",window.content)

Also I have also used jQuery in my firefox extension it works seamlessly with no issues at all.

Meher Ranjan