Javascript не работает removeclass

Jquery — addClass и removeClass не работают

Я пытался переключить класс из тега i . Сначала я попробовал это с помощью switchClass пользовательского интерфейса Jquery:

Это не сработало. Я обнаружил, что у кого-то еще есть проблема с switchClass , и ему посоветовали использовать removeClass и <> вместо этого, который работал для него.

Однако для меня это не работает, и я сейчас растерялся.

Это действительно было из-за пропавшего » . Я доверял PhpStorm, чтобы найти это и указать на это . Я узнал: никогда не доверяйте своей IDE, даже если у вас есть дорогая.

5 ответов

Вы пропустили » в . Это сработало после того, как я изменил это. Если вы хотите, чтобы переключиться, переключитесь на addClass и removeClass с помощью toggleClass .

Вы забыли добавить отверстие «в

Вы можете проверить это так:

Возвращает ваш элемент div.

Таким образом, в настоящее время ваш идентификатор — sidenavIcon «

Вы только что пропустили одну двойную кавычку в своем HTML , следуйте ниже:
Вы написали id=sidenavIcon» , но вы должны написать id=»sidenavIcon»

Попробуйте это решение, оно работает гладко

Заменить id=sidenavIcon» на id=»sidenavIcon»

jQuery: use toggleClass (); вместо switchClass () или добавить или удалить класс. HTML: добавьте промах «перед

Источник

removeclass не работает

У меня очень простой вопрос, на самом деле это не вопрос, это исправление ошибки JavaScript, в любом случае вот код:

Когда я щелкаю одну из ссылок, к ней добавляется класс selected, но когда я щелкаю по другой ссылке, класс selected не удаляется, в чем может быть ошибка?

Спасибо всем за помощь! я очень ценю это!

4 ответа

Непонятно, что вы пытаетесь сделать, но похоже, что вы хотите добавить класс к элементу, по которому щелкнули, и удалить из всех его братьев и сестер . Ваш текущий код добавляет и удаляет класс к тому же элементу, который в итоге ничего не делает.

Читайте также:  Не работает винкс ошибка msvcp71 dll

Вы, вероятно, хотите что-то вроде

Используйте ToggeleClass , а затем adClass/ removeClass методы.

Следующие строки в ваших функциях добавляют и удаляют класс, выбранный для того же элемента.

Поскольку вы добавляете и удаляете класс для элемента, на который ссылается this , который является текущим элементом (который был только что нажат). То, что они будут делать, это добавить выбранный класс к элементу, по которому щелкнули, и немедленно удалить его.

Что вам нужно сделать, это

1- сначала удалите класс, выбранный из любых элементов, которые его имеют

2 — добавить выбранный класс к текущему элементу, указанному этим

Один способ сделать это

Надеюсь, это поможет.

$(this) — ссылка, на которую вы нажали, а не вся ссылка. Вам нужно удалить класс всей ссылки.

Источник

Javascript removeClass / toggleClass работает на рабочем столе, но не реагирует на страницу

Я купил эту тему некоторое время назад и измельчал ее и модифицировал для добавления / удаления функциональности. Это слайд-меню, которое появляется на странице после щелчка по ссылке из меню навигационной панели. Проблема в том, что есть кнопка X для закрытия меню, которое должно переключать / удалять класс из элемента # btn-offcanvas-menu при его щелчке (# btn-close-canvasmenu — это интерактивный элемент); он работает на настольном компьютере, но не на адаптивном мобильном сайте. Единственный способ переключить / удалить его на мобильном телефоне — это повторно щелкнуть исходную ссылку. Я рассмотрел приведенные ниже вопросы здесь и несколько других, в том числе попытался использовать самые близкие параметры / найти, но, похоже, ничего не работает. Что мне не хватает?

Желаемое поведение: класс isLeft должен переключаться / удаляться при нажатии ссылки # btn-close-canvasmenu. Это на настольном компьютере, но не на мобильном устройстве.

Это соответствующая часть индексной страницы .

Это соответствующая часть файла javascript compact.js .

РЕДАКТИРОВАТЬ (исправлено 16.02.20): я отредактировал файл js, чтобы отразить эту обновленную функцию: $(«#btn-close-canvasmenu»).on(«click», function()

По сути, исправлено изменение селектора с # btn-offcanvas-menu на # btn-offcanvas-menu. Не уверен, почему это сработало, в отличие от использования метода closest / find, но как только я это сделал, он правильно переключил / удалил класс как на настольном компьютере, так и на мобильном устройстве. Если у кого-то есть какие-либо мысли о том, почему a повлияло на селектор, я был бы признателен за отзывы, поскольку я не эксперт по js / jQuery. В противном случае это можно считать закрытым.

Читайте также:  Как настроить wifi ксиоми

1 ответ

Изменение селектора в файле compact.js с # btn-offcanvas-menu на # btn-offcanvas-menu устранило проблему, и, хотя это сработало, это был неправильный способ исправить проблему, как указал Connexo из-за повторяющихся идентификаторов .

Правильный способ решить эту проблему — изменить саму мобильную панель навигации, чтобы я мог использовать идентификатор специально для мобильного телефона, который только там появляется.

Затем я изменил функцию js, которая заполняет html для мобильного меню, чтобы использовать prepend вместо добавления, чтобы она заполнила все, что находится над ссылкой недавние результаты .

Затем я настроил функцию js, чтобы переключить класс на мобильный для # btn-close-canvasmenu, если селектор был # btn-offcanvas-menu-mobile, который будет использоваться позже .

Наконец, я настроил функцию js, которая закрывала меню, чтобы проверить класс, чтобы определить, какой идентификатор переключить класс isLeft для .

Источник

JQuery removeClass не работает на себя

У меня есть класс под названием:

В настоящее время я использую jquery, чтобы попытаться поднять голос и оживить исчезновение. Я не хочу, чтобы один человек мог повторять одно и то же несколько раз без обновления страницы.

Если я использую

Это изменяет код и меняет макет. Так что я использую

Это не меняет макет страницы; однако это позволяет человеку голосовать несколько раз, не обновляя страницу. Я пытаюсь

Чтобы он больше не вызывал JQuery, но он не работает. Что я должен делать?

Я просмотрел несколько других потоков Stack Overflow, но, похоже, не смог найти ответ.

3 ответа

Есть много способов сделать это.

Вы можете использовать делегирование событий и удалить класс.

Вы также можете использовать one , который автоматически удалит обработчик после его вызова.

Тем не менее, трудно понять, почему им нужно разрешить голосовать снова, когда они перезагрузят страницу? Нет реальной разницы между тем, что разрешено голосовать несколько раз без обновления против обновления при обновлении.

Первое и самое важное:

Читайте также:  Ворота сдвижные не работает

Это только клиентская часть кода, где вы пытаетесь запретить пользователю подавать несколько голосов. Обратите внимание, что любой может использовать инструменты разработчика в своих браузерах для отправки запроса ajax снова и снова.

Поэтому я бы предпочел не допустить голосования в модели и структуре базы данных за кулисами, прежде чем исправлять простую проблему пользовательского интерфейса.

Если ваша страница обновляется после нажатия кнопки, я считаю, что вам нужно изменить атрибут «type» вашей кнопки с «submit» на «button». Первый и второй код должен быть в порядке, чтобы получить желаемый результат.

Посмотрите на код @plalx, вставленный в ответы, для лучшего.

Надеюсь это поможет!

Я считаю, что вы ищете .one ();

Использование .one () гарантирует, что ваше событие будет запускаться только один раз для каждого элемента.

Вообще говоря, вы должны использовать .on для присоединения обработчиков событий, используя jQuery.

Вы можете использовать .off (), чтобы удалить любые обработчики событий, которые были присоединены ранее с помощью .on ().

Источник

Форум

Справочник

Опции темы Искать в теме

Данный код работает на localhost (denwer), но не работает на сервере. Сайт и там и там полностью одинаковый.

До клика по imin

После клика

Как видно самовыпилилась [class^=»icon-«].
Иконка плюса пропала, но иконка минуса не появилась.
В firefox тоже самое.

Куда смотреть? Уже задолбался с этой проблемой.

danik.js,
Вы код смотрели? классы icon-plus и icon-minus подходят под селектор [class^=»icon-«].

Данный код работает на localhost (denwer), но не работает на сервере. Сайт и там и там полностью одинаковый.

Сообщение от mrtarantul Вы код смотрели?

Вы мой ответ читали?
Я понимаю что вы свято верите что проблема в сервере и removeClass, до такой степени что ничего не видите и не слышите. Но все же:

danik.js,
Я не свято верю что проблема на сервере или в removeClass, просто не понятно было почему один и тот же код работает по разному.

Спасибо, теперь я понял вашу мысль, просто слово «начинающееся», я не к тому слову применил.

Источник

Оцените статью