我怀疑jQuery在我的扩展程序中无法正常运行... 我正在使用版本1.3.2,加载了以下行:
var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
.getService(Components.interfaces.mozIJSSubScriptLoader);
loader.loadSubScript("chrome://myext/content/lib/jquery.js", myext);
我的问题是,当运行以下行时,标记为1的那个行有效,2会引发与jQuery相关的错误错误“L is null”:
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
});
我认为第二行应该很好地将子节点添加到元素#listacorsi。 menuitem #a是#listacorsi的孩子。 你能帮我理解我的编码有什么问题吗?
谢谢和最诚挚的问候,
利维奥
答案 0 :(得分:0)
您应该像这样引用$ variable:
$("body",window.content)
此外,我还在我的firefox扩展中使用了jQuery,它可以无缝地工作,完全没有任何问题。