我有一个有趣的问题。我在谷歌浏览器扩展程序中使用jQuery函数clone()
。该函数正在克隆表行。问题是TR使用$j()
而不是jQuery()
包含一些内联javascript / jquery。
每次我尝试输出克隆的行时,都会收到错误“$ j未定义”。
所以我想到了这个问题的两种可能的解决方案:
$j()
一起使用(尝试使用jquery no conflict)jQuery()
或
$j
替换为jQuery
。我的问题是我无法完成......
var rows = jQuery("#field-mapping-template").clone(true);
rows.insertBefore("#field-mapping-template");
答案 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
。
如果您有一个很好的查找和替换,您可以这样做,但我不建议这样做。