将 $j 替换为 JQuery

1 javascript jquery clone

我有一个有趣的问题。clone()我在 google chrome 扩展中使用 jQuery 函数。该函数正在克隆表行。问题是 TR 有一些内联 javascript/jquery 使用$j()而不是jQuery().

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

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

  1. 让我的 chrome 扩展可以使用$j()(尝试使用 jquery 没有冲突)而不是jQuery()

或者

  1. 在输出之前在克隆项目中进行搜索,替换$jjQuery.

我的问题是我无法完成任何一个......

 var rows = jQuery("#field-mapping-template").clone(true);
 rows.insertBefore("#field-mapping-template");
Run Code Online (Sandbox Code Playgroud)

Dav*_*ast 5

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

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

// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
Run Code Online (Sandbox Code Playgroud)

现在只需将其更改为:

// Expose jQuery to the global object
window.jQuery = window.$j = jQuery;
Run Code Online (Sandbox Code Playgroud)

现在,当您编写如下脚本时:

<input type="hidden" name="name" value="test" />
<script type="text/javascript">
    $j(function () {
        alert($j('input').val());
    });
</script>
Run Code Online (Sandbox Code Playgroud)

相反$,它将适用于$j.

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

我真的、真的、真的不建议jQuery()用 $j 或任何与此相关的东西替换。

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

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