Rails / Javascript选择器将找不到元素

时间:2013-08-12 08:20:03

标签: javascript ruby-on-rails

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

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

1 个答案:

答案 0 :(得分:1)

$只是写jQuery的简写方式。如果后者有效,但前者没有,那么你的管道中的另一个脚本可能与jQuery冲突,并尝试将$符号用于其他内容。

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

如果所有其他方法都失败了,您可以坚持使用jQuery()进行所有通话。在外部脚本文件中,您还可以通过将jQuery对象传递给包装函数来避免这种情况,例如:

(function ($) {

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

}(jQuery))