Я относительно новичок в rails и недавно обновил свое приложение rails 3.0 до rails 3.1.Кажется, все работает нормально, но когда я начал кодировать некоторые jquery в своем приложении, я не могу вызвать большинство методов jquery.Например, у меня есть div:
<div id="myDiv">
here is some content here
</div>
Когда я звоню:
$(document).ready(function() {
$("#myDiv").hide();
})
Мой браузер выдает ошибку
$(document).ready is not a function @ http://localhost:3000/assets/application.js?body=1:11
Что-то заметить, когда янапишите js без $ (document) .ready () под div, как это
<div id="myDiv">
here is some content
</div>
<script type="text/javascript" charset="utf-8">
$("#myDiv").hide();
</script>
мой браузер выдает ошибку
$("#myDiv") is null @ http://localhost:3000/:57
Вот интересная часть.Когда я удаляю # и пишу это как
$("myDiv").hide();
Это работает !!Нет ошибокЗачем?Я не знаю.Но когда я изменяю его на $ ("myDiv"). AddClass ("anotherClass");или что-нибудь необычное, я получаю ошибку снова
$("myDiv").addClass is not a function @ http://localhost:3000/:57
У меня нет других ошибок JavaScript.Есть идеи, почему это происходит?Как я могу это исправить?
У меня уже есть gem 'jquery-rails'
, добавленный в мой файл gem.
Вот мой файл application.js
// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file. // require_tree
//
//= require jquery
//= require jquery_ujs
//= require prototype
//= require bootstrap-alerts-1.3.0
//= require bootstrap-dropdown-1.3.0
//= require bootstrap-modal-1.3.0
//= require bootstrap-twipsy-1.3.0
//= require bootstrap-popover-1.3.0
//= require bootstrap-scrollspy-1.3.0
//= require bootstrap-tabs-1.3.0
$(document).ready(function() {
$("#myDiv").hide();
})
Я попытался удалить всезагрузочные js-файлы, кстати, никак не повлияли.Он явно загружает jQuery.
Есть какие-нибудь подсказки о том, как заставить jQuery работать нормально?