0

我正在将资产管道安装到较旧的 Rails 应用程序中。不过,我得到了一些非常奇怪的结果。我可以看到该页面正在呈现app/assets目录中的所有 css 和 jquery,但它很难与 html 交互。

例如,如果我检查页面并在控制台调用$("html").html();中尝试抓取所有 html,它TypeError: Cannot call method 'html' of null在尝试抓取正在呈现的任何元素时返回相同?但页面在那里。如果我打电话jQuery,它会返回罚款。所以它不喜欢它 jQuery 不存在。

4

1 回答 1

1

$只是一种简写方式jQuery。如果后者有效但前者无效,则管道中的另一个脚本可能与 jQuery 冲突,并试图将该$符号用于其他用途。

您是否正在使用任何其他可能尝试使用的插件或库$?或者你有没有在任何地方写过自己不小心覆盖了它$ = (something)?没有更多信息,很难知道问题到底出在哪里。

如果一切都失败了,您可以坚持使用jQuery()所有电话。在您的外部脚本文件中,您还可以通过将 jQuery 对象传递给包装函数来规避这一点,例如:

(function ($) {

    $('div').append('You can use $ here without having to worry about conflict.');

}(jQuery))
于 2013-08-12T08:40:52.513 回答