Rails/Javascript选择器赢得'找不到元素

Rails/Javascript selectors won't find elements

本文关键字:找不到 元素 Javascript 选择器 Rails      更新时间:2023-09-26

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

例如,如果我检查页面,并在控制台中调用$("html").html();尝试抓取所有html,那么在尝试抓取任何正在渲染的元素时,它会返回相同的TypeError: Cannot call method 'html' of null吗?但是页面就在那里。如果我调用jQuery,它将返回良好。所以它不像jQuery不在那里。

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

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

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

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