Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222

Прикрепление класса active к label

24.05.2017, 12:32. Показов 2377. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите код который бы прикреплял к label класс .active в том случае, если в рядом расположенном input есть текст или если на input есть фокус
HTML5
1
2
3
4
<div class="form_input">
    <input type="text" id="login" required>
    <label for="login" class="label">Логин</label>
</div>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.05.2017, 12:32
Ответы с готовыми решениями:

Прикрепление класса label для непустого input
Доброй ночи. Нужен скрипт, который бы прикреплял к label класс .active в том случае, если в рядом расположенном input есть текст или если...

Добавление / удаление класса active к ссылке
Подскажите пожалуйста, как добавить /удалить класс active при нажатии на ссылку, которая показывает/скрывает блок. &lt;table...

Как сделать так, чтобы при добавлении класса active к последнему элементу в наборе, отсчет начинался сначала?
как можно при кликке начать отсчет сначала набора, когда доходит до последнего элемента, помогите пожалуйста!!! &lt;div...

4
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
24.05.2017, 13:21
Лучший ответ Сообщение было отмечено Dzhon как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
document.querySelector('div.form_input').childNodes.forEach(function(i){
  if(i.nodeType === 3) //надо удалить из дочерних узлов все текстовые узлы
    document.querySelector('div.form_input').removeChild(i);
})
var input = document.querySelector('div.form_input').querySelector('label').previousSibling;
var label = document.querySelector('div.form_input').querySelector('label');
input.addEventListener("focus", function(){
  label.setAttribute("class", "active");
})
input.addEventListener("blur", function(){
  if(this.value == ''){
    label.setAttribute("class", "label");
  }else{
    label.setAttribute("class", "active");
  }
})
if(input.value != ''){
  label.setAttribute("class", "active");
}
1
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
24.05.2017, 14:01  [ТС]
Пифагор, Спасибо, и еще у меня подряд идут 2 div с классом form_input, js код срабатывает только на 1 div, как это исправить?
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
24.05.2017, 14:32
Лучший ответ Сообщение было отмечено Dzhon как решение

Решение

Вроде, так, если я верно понял, что надо:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<div class="form_input">
<input type="text" id="login" required>
<label for="login" class="label">Логин</label>
<input type="text" id="login" required>
<label for="login" class="label">Логин</label>
<input type="text" id="login" required>
<label for="login" class="label">Логин</label>
</div>
<script>
document.querySelector('div.form_input').childNodes.forEach(function(i){
  if(i.nodeType === 3) //надо удалить из дочерних узлов все текстовые узлы
    document.querySelector('div.form_input').removeChild(i);
})
for(var i = 0; i < document.querySelector('div.form_input').childNodes.length/2; i++){
  var input = document.querySelector('div.form_input').querySelectorAll('label')[i].previousSibling;
  var label = document.querySelector('div.form_input').querySelectorAll('label')[i];
  input.addEventListener("focus", function(e){
    e.target.nextSibling.setAttribute("class", "active");
  })
  input.addEventListener("blur", function(e){
    if(this.value == ''){
      e.target.nextSibling.setAttribute("class", "label");
    }else{
      e.target.nextSibling.setAttribute("class", "active");
    }
  })
  if(input.value != ''){
    label.setAttribute("class", "active");
  }
}
</script>
Добавлено через 12 минут
Не, не верно понял. Там 3 div form_input со своим label и input. Вот так надо, вероятно.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<div class="form_input">
<input type="text" id="login" required>
<label for="login" class="label">Логин</label>
</div>
<div class="form_input">
<input type="text" id="login" required>
<label for="login" class="label">Логин</label>
</div>
<div class="form_input">
<input type="text" id="login" required>
<label for="login" class="label">Логин</label>
</div>
<script>
for(var i = 0; i < document.querySelectorAll('div.form_input').length; i++){
  document.querySelectorAll('div.form_input')[i].childNodes.forEach(function(n){
  if(n.nodeType === 3) //надо удалить из дочерних узлов все текстовые узлы
    document.querySelectorAll('div.form_input')[i].removeChild(n);
  })
  var input = document.querySelectorAll('div.form_input')[i].querySelector('label').previousSibling;
  var label = document.querySelectorAll('div.form_input')[i].querySelector('label');
  input.addEventListener("focus", function(e){
    e.target.nextSibling.setAttribute("class", "active");
  })
  input.addEventListener("blur", function(e){
    if(this.value == ''){
      e.target.nextSibling.setAttribute("class", "label");
    }else{
      e.target.nextSibling.setAttribute("class", "active");
    }
  })
  if(input.value != ''){
    label.setAttribute("class", "active");
  }
}
</script>
1
1 / 1 / 0
Регистрация: 12.03.2015
Сообщений: 222
24.05.2017, 14:47  [ТС]
Пифагор, Спасибо))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2017, 14:47
Помогаю со студенческими работами здесь

Доступ к объекту label класса из множества.
Допустим есть класс комментарием,в нем куча объектов label,а в них комментарии,как мне взять определенный label в классе?

Cisco ASA Active/Standby, Active/Active
Добрый день! Возник вопрос не жизненно важный, но в гугле ответа не нашел) А какое максимальное расстояние может быть межу двумя...

Изменение label формы из класса
Знаю что было уже 50 тем и все объяснялось, но все же до меня не доходит. Собственно, есть 2 класса, клиент и сервер. При создании сервера...

Не отображаются ProgressBar и Label из класса
Вообщем код был громоздкий и я решил его раскидать по классам т вот какая проблема я обращаюсь Classes.DownloadServerFiles...

Создание label из другого класса
Label создается, но при выводе отображается в отдельном окне. Как сделать так, чтобы он отображался внутри MainWindow в определенном месте?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru