Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как удалить класс (https://javascript.ru/forum/events/62878-kak-udalit-klass.html)

orange8031 05.05.2016 18:13

Как удалить класс
 
Доброго вечера всем. Вообщем есть класс .contacts-left g-mini и второй s-contacts-map мне нужно удалить второй только если найден первый. Перерыл уже кучу материала ничего не получилось. Помогите пожалуйста, заранее спасибо.

рони 05.05.2016 18:30

orange8031,
выбрали все элементы с первым классом и вторым классом потом циклом удалили второй, какие проблемы то?

orange8031 05.05.2016 18:36

Не могли бы Вы показать пример, очень нужно

рони 05.05.2016 18:39

orange8031,
напишите html с вашими классами чтоб понять что вы хотите удалить в class.

orange8031 05.05.2016 18:49

<div id="map" class="s-contacts-map">
		<div class="contacts-left g-mini">
				<div class="contacts-left__content-wrap g-hide" style="display: none;">
					<h2 class="s-contacts__title">Как добраться</h2>
					<div class="s-contacts__info-wrap">
						
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__phone"></p>
<p class="s-contacts__phone"></p>
					</div>
				</div>
				<div class="contacts-left__close-button rotate-close">&lt;</div>
			</div>

orange8031 05.05.2016 18:50

Вообщем когда есть класс contacts-left g-mini то нужно удалить класс s-contacts-map

orange8031 05.05.2016 18:51

Там код не полный но Вам суть понятна

рони 05.05.2016 18:52

orange8031,
пожалуйста нажмите кнопку и исправьте сообщение.
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 05.05.2016 19:08

orange8031,
так?
window.addEventListener("DOMContentLoaded", function() {
    [].filter.call(document.querySelectorAll(".s-contacts-map"), function(item) {
        return item.querySelector(".contacts-left.g-mini")
    }).forEach(function(el) {
        el.classList.remove("s-contacts-map")
    })
});

orange8031 05.05.2016 19:18

Сейчас попробую

orange8031 05.05.2016 19:29

К сожалению не работает, почему-то?

рони 05.05.2016 19:33

orange8031,
тогда структура вашего примера не точна

orange8031 05.05.2016 19:35

HTML? Вы имеете ввиду?

рони 05.05.2016 19:37

orange8031, удаление s-contacts-map при наличии .contacts-left.g-mini
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
<style type="text/css">
.s-contacts-map {
       background-color: #FF0000;
}

</style>
<script>

  window.addEventListener('DOMContentLoaded', function() {
       [].filter.call(document.querySelectorAll('.s-contacts-map'), function(item) {
             return item.querySelector('.contacts-left.g-mini')
          }).forEach(function(el) {
       el.classList.remove('s-contacts-map')
});
    });

</script>
</head>

<body>

<div id="map" class="s-contacts-map">
		<div class="contacts-left g-mini">
				<div class="contacts-left__content-wrap g-hide" style="display: none;">
					<h2 class="s-contacts__title">Как добраться</h2>
					<div class="s-contacts__info-wrap">

<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__phone"></p>
<p class="s-contacts__phone"></p>
					</div>
				</div>
				<div class="contacts-left__close-button rotate-close">&lt;тут есть contacts-left g-mini</div>
			</div>
</div>

<div id="map" class="s-contacts-map">
		<div class="">
				<div class="contacts-left__content-wrap g-hide" style="display: none;">
					<h2 class="s-contacts__title">Как добраться</h2>
					<div class="s-contacts__info-wrap">

<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__info"></p>
<p class="s-contacts__phone"></p>
<p class="s-contacts__phone"></p>
					</div>
				</div>
				<div class="contacts-left__close-button rotate-close">&lt;тут нет contacts-left g-mini</div>
			</div>
</div>
</body>
</html>

orange8031 05.05.2016 19:47

Это возможно потому что это гугл мапс?

рони 05.05.2016 19:53

orange8031,
это значит надо запускать тогда, когда есть что удалять -- код 16 - 20 надо добавить в конец вашей инициализации карт

orange8031 06.05.2016 11:15

Спасибо Вам Рони за помощь но к сожалению ничего не помогает

рони 06.05.2016 11:58

orange8031,
где код?

orange8031 06.05.2016 20:32

Вопрос решил вот так не я конечно
$(".contacts-left__close-button").click(function() {
        $("#map").toggleClass("s-contacts-map")
    });
я немного подправил css и все нормально. Вам еще раз спасибо за беспокойство.


Часовой пояс GMT +3, время: 12:40.