我怀疑 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 的子项。你能帮我理解我的编码有什么问题吗?
谢谢和最好的问候,
利维奥