用JQuery替换$ j

时间:2012-06-20 20:21:51

标签: javascript jquery clone

我有一个有趣的问题。我在谷歌浏览器扩展程序中使用jQuery函数clone()。该函数正在克隆表行。问题是TR使用$j()而不是jQuery()包含一些内联javascript / jquery。

每次我尝试输出克隆的行时,都会收到错误“$ j未定义”。

所以我想到了这个问题的两种可能的解决方案:

  1. 使我的Chrome扩展程序与$j()一起使用(尝试使用jquery no conflict)jQuery()
    1. 在输出克隆项目之前进行搜索,将$j替换为jQuery
    2. 我的问题是我无法完成......

       var rows = jQuery("#field-mapping-template").clone(true);
       rows.insertBefore("#field-mapping-template");
      

1 个答案:

答案 0 :(得分:4)

我的意思是,我不建议这样做但你可以如果你真的需要

进入jQuery的开发版本并一直向下滚动直至看到这行代码:

// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;

现在只需将其更改为:

// Expose jQuery to the global object
window.jQuery = window.$j = jQuery;

现在编写像:

这样的脚本
<input type="hidden" name="name" value="test" />
<script type="text/javascript">
    $j(function () {
        alert($j('input').val());
    });
</script>

而不是$,它适用于$j

这与替换jQuery()不同。 $jQuery()的简写。

我真的,真的,真的不建议将jQuery()替换为$ j或其他任何内容。

从最新版本(v1.7.2)开始,开发代码中有 879个对jQuery对象的引用,您必须将其更改为$j

如果您有一个很好的查找和替换,您可以这样做,但我不建议这样做