我需要在$element上做一些dom遍历,但是jQuery或jQlite不需要做我想做的事情,所以我需要使用一个名为closestChild的jQuery插件。
https://github.com/lolmaus/jquery.closestchild/blob/master/jquery.closestchild.js
我已经使用bower安装了它,并且我试图在angular.min.js之后在我的脚本标记中加载它,但是仍然会得到以下错误。
Uncaught TypeError: Cannot read property 'fn' of undefined那么,我假设jQlite附带了Angular,在默认情况下不会给您提供可以使用的$?还是我只是按错误的顺序做事?
发布于 2015-04-20 15:59:03
不,angular.element (jqLite)不导出$全局变量。因此,您不能只使用没有jQuery的任何角度的jQuery插件。在某些情况下,如果在包括插件(如果是$ )之前手动创建jQuery引用,则可以解决这个问题。例如:
<script src="path-to-angular.js"></script>
<script>
window.$ = window.jQuery = angular.element;
window.$.fn = window.$.prototype;
</script>
<script src="path-to-jquery.plugin.js"></script>但是,在您的示例中,它将无法工作,因为感兴趣的插件使用$.fn.filter方法,而jqLite没有实现该方法。以下是所有可用angular.element方法的列表。
您可以自己实现其中的一些,并包含在插件之前。
但是,如果您想使用jQuery插件,我建议您实际使用jQuery。
发布于 2015-04-20 15:54:46
jQlite不支持jQuery插件。实际上,它是一个轻量级的选择器工具,而不是支持扩展的重量级工具,比如jQuery。
你有两个选择:
我个人会使用备选案文1。
https://stackoverflow.com/questions/29752297
复制相似问题