jQuery没有';我不能完全在Firefox插件上工作

jQuery没有';我不能完全在Firefox插件上工作,jquery,firefox-addon,Jquery,Firefox Addon,通过这样做,我包括了jQuery: <?xml version="1.0"?> <!DOCTYPE window SYSTEM "chrome://orkutmanager/locale/browser.dtd"> <overlay id="omcore" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script ty

通过这样做,我包括了jQuery:

<?xml version="1.0"?>
<!DOCTYPE window SYSTEM "chrome://orkutmanager/locale/browser.dtd">
    <overlay id="omcore" 
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <script type="application/x-javascript" src="../../jquery-1.4.2.js"/>
    <script type="text/javascript">jQuery.noConflict();</script>

    <script type="application/x-javascript" src="../../OM.js"/>

</overlay>
然后我试着用

gBrowser.addEventListener('DOMContentLoaded',
    function (e)
    {
        var contentWindow = e.originalTarget.defaultView;
        var contentDocument = contentWindow.document;

        var $ = jQuery;

        var x = $("a", contentDocument).attr("onclick"); //
        // Error: uncaught exception: unknown (can't convert to string)

    }, false);

工作正常

我必须以不同的方式包含jQuery吗?我怎样才能使它像往常一样工作? 是否有其他jQuery方法来获取属性的值


在正常情况下,它可以工作。

您正在使用
attr
函数访问
onclick
属性

这个函数对此只字未提,但是否
attr()
会将其返回值强制转换为字符串?看起来是这样


如果您直接访问
onclick
,会怎么样?您在用它做什么?

是否有特定的原因将jQuery库包含在
type=“application/x-javascript”
中?在一个普通页面中,它也应该是
text/javascript
。不完全是,只是在一个示例中看到并复制了它。不过,更改并没有什么不同。我只是尝试了
$('').attr('onclick')并且没有这样的错误。听起来很合理。无论如何,OP以一种可疑的方式混合了本机javascript/DOM事件/jQuery@J-P:如果没有浏览器/版本,这句话真的没什么价值。但它是
。那么我应该如何获得这个属性呢?唯一的方法是直接获取(0).getAttribute
<代码>$(“a”)。onclick未定义。我添加了一个示例。虽然我只想要那根绳子,但那是enough@BrunoLM-您不能使用
文档。在
窗口中写入
。像这样onload
,而是将其附加到正文中…还需要定义函数,如下所示:
gBrowser.addEventListener('DOMContentLoaded',
    function (e)
    {
        var contentWindow = e.originalTarget.defaultView;
        var contentDocument = contentWindow.document;

        var $ = jQuery;

        var x = $("a", contentDocument).attr("onclick"); //
        // Error: uncaught exception: unknown (can't convert to string)

    }, false);
$("a", contentDocument).get(0).getAttribute("onclick");