У меня есть кнопка следующим образом:
<button id = "onlineusers" style = "display: none;">Call User</button>
Мне нужно отобразить кнопку на основе события следующим образом:
client.on('stream-added', function (evt) {
alert("User is online");
var stream = evt.stream;
$('#onlineusers').show();
console.info("New stream added: " + stream.getId());
console.info("Subscribe ", stream);
client.subscribe(stream, function (err) {
console.info("Subscribe stream failed", err);
});
});
Я использую jQuery (2.0.1) и пробовал следующее:
$('#onlineusers').show();
Я получаю сообщение об ошибке:
TypeError: $(...).show is not a function
TypeError: $(...)show is not a function
Я новичок в джаваскрипте. Просьба о помощи!!!
get().show()
не будет работать, так как get()
возвращает объект Element, а не объект jQuery. Однако две другие строки должны работать. Вы уверены, что $
— это ссылка на jQuery, а не на какую-то другую библиотеку? Также обратите внимание, что в DOM должен быть только один экземпляр #onlineusers
, поэтому использование eq()
или get()
спорно.
@Carsten Løvbo Andersen Извините, раньше я использовал это как класс. Извините, изменено для обновления. Но $('#onlineusers').show(); тоже не работает.
включить ссылку jquery в свой код
@ Памела, тогда вы, скорее всего, столкнулись с проблемой, которую описывает Рори МакКроссан. Какую версию jquery вы используете?
другие ваши jQuery
действия работают? Я имею в виду, вы могли бы правильно загрузить jQuery
на эту страницу?
я попробовал jquery('#onlineusers').show(); слишком..
@Pamela Пожалуйста, укажите версию jQuery в своем вопросе, и если вы получаете ее с CDN, включите ссылку
версия jquery 2.0.1
jquery упоминается в коде: <script src = "scripts/jquery.js"></script>
Вы можете удалить атрибут «стиль» для кнопки «Позвонить пользователю»,
$('#onlineusers').removeAttr('style');
Весь код:
client.on('stream-added', function (evt) {
alert("User is online");
var stream = evt.stream;
$('#onlineusers').removeAttr('style');
console.info("New stream added: " + stream.getId());
console.info("Subscribe ", stream);
client.subscribe(stream, function (err) {
console.info("Subscribe stream failed", err);
});
});
Извиняюсь. Я не понимал. Я скрывал кнопку по умолчанию и пытался отобразить ее на основе события ??
Когда событие произойдет, атрибут стиля будет удален, и ваша кнопка будет видна.
Если это сработало для вас, но show()
нет, то у вас гораздо более серьезные проблемы.
Нет причин использовать
eq(0)
в$('#onlineusers').eq(0)
, поскольку вы ориентируетесь на элемент по идентификатору. Вы уверены, что$('#onlineusers').show()
не работает