jQuery:当包含在Prototype的页面上时,“this.cloneNode不是函数”

时间:2009-02-02 19:44:37

标签: javascript jquery jquery-ui prototypejs

我正在尝试在书签中使用jQuery,这意味着我无法控制将要插入JavaScript的页面。从我读过的noConflict开始,它要求首先插入jQuery。对于书签,恰恰相反。

那么 - 有没有人对这是否可行提出任何建议?我发现它的工作原理除了在使用prototype.js的页面上。在那些页面上,当我尝试使用jQuery UI库时,我在jQuery的内容中得到错误“this.cloneNode不是一个函数”,大概是因为原型中的某些东西正在捣乱它。

任何帮助/建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

在包含jQuery之后,在包含其他库之前,必须调用noConflict。所以最好包含jQuery,然后调用noConflict - 它应该将$变量返回到包含jQuery之前的任何内容。

这有点痛苦。您的书签需要:

if(!jQuery) {
    include_jQuery();
    var $ = jQuery.noConflict();
} else {
    var $ = jQuery;
}
// do things with $

为了避免破坏页面,如果它已经有jQuery。