#jquery #asp.net
#jquery #asp.net
Вопрос:
Я разрабатываю ASP.NET приложение и использование jQuery. У меня есть <div>
элемент с id='slider'
. При попытке получить доступ к элементу с помощью $('#slider')
, он возвращает null
, но при попытке получить к нему доступ без селектора, т.Е. $('slider')
элемент возвращен.
Что может быть причиной этого?
Комментарии:
1. Хм, это… маловероятно . Не могли бы вы показать свой код — HTML и Javascript?
2. Нам нужен некоторый код для просмотра. Как сказал @lonesomeday, Jquery не вернул бы элемент с этим селектором, если только в вашем коде не было
<slider></slider>
элемента на странице, который не является элементом HTML.3. Используете ли вы jQuery, а не, например, Prototype.JS ? Потому что последнее является прототипом обозначения
Ответ №1:
Если селектор не совпадает, то jQuery не возвращает null
. Итак, это два пункта «Действия в отличие от jQuery», которые предполагают, что ответ таков: $
на вашей странице нет jQuery.
Что-то еще переопределяет его. Возможно, mootools или prototype.js (Я не уверен, что любой из них возвращает, если нет соответствующего элемента, но я почти уверен, что у обоих есть $
функция, которая принимает идентификатор, а не селектор CSS в качестве аргумента).
Комментарии:
1. Хорошо, это многое объясняет. Похоже, у меня есть ссылка на prototype И jquery на одной странице, и мне действительно нужны они оба. Как я могу использовать их оба на одной странице?
2. попробуйте написать
$ = jquery
, прежде чем использовать $3. Используйте неконфликтный режим jQuery и обращайтесь к нему как
jQuery
вместо$
.
Ответ №2:
как указано выше, проблема вызвана прототипом.
Решение: вы должны использовать jquery noconflict. Когда вы будете использовать это, любой код jquery сохранит переменную $ перед началом выполнения, а после выполнения кода jquery это восстановит значение $.