Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 06.01.2019
Сообщений: 19

Селектор even

13.10.2019, 15:30. Показов 669. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему в таком коде блокирует все нечетные checkbox

HTML5
1
2
3
4
5
6
7
8
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
JavaScript
1
$(':checkbox:nth-child(even)').prop('disabled', true);



а в этом

HTML5
1
2
3
4
5
6
7
8
9
10
11
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
JavaScript
1
$('li:nth-child(even)').css('color', 'red');

Красит в красный все четные li. Хотя и там и там селектор nth-child(even)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2019, 15:30
Ответы с готовыми решениями:

Селектор
Добрый день, помогите написать селектор. Мне нужно что бы показывался и скрывался именно тот спан, по чьему родителю р я нажал. Не могу...

Мудрённый селектор
Здравствуйте имеется таблица &lt;table border=&quot;0&quot; style=&quot;width:100%&quot;&gt; &lt;tr id=&quot;service&quot;&gt; &lt;td colspan=&quot;2&quot;...

Селектор jquery
ВОт например есть селектор jquery который выбирает атрибут. $('input') а как сделать выбрать перечень атрибутов?

3
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
13.10.2019, 19:20
mel27, всё прекрасно работает. Нумерация в CSS с единицы:
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
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
    <input type="checkbox" id="check1">
    <input type="checkbox" id="check2">
    <input type="checkbox" id="check3">
    <input type="checkbox" id="check4">
    <input type="checkbox" id="check5">
    <input type="checkbox" id="check6">
    <input type="checkbox" id="check7">
    <input type="checkbox" id="check8">
 
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
    </ul>
    <script>
        // for (let e of document.querySelectorAll("input[type=checkbox]:nth-child(even)"))
        // console.log(e);
 
        $(':checkbox:nth-child(even)').prop('disabled', true);
 
        for (let e of $(':checkbox:nth-child(even)').toArray())
            console.log(e);
 
        for (let e of $('li:nth-child(even)').toArray())
            console.log(e);
 
        $('li:nth-child(even)').css('color', 'red');
    </script>
</body>
</html>
1
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
15.10.2019, 12:06
Цитата Сообщение от mel27 Посмотреть сообщение
Почему в таком коде блокирует все нечетные checkbox
Хотя должен блокировать чётные? nth-child() - указывает номер элемента в одном родителе. Значит у вас в разметке есть ещё что-то, что указывает на то, что первый элемент *:checkbox является четным элементом среди соседних в пределах одного родителя:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div>
  <input type="hidden">
  <input type="checkbox">
  <input type="checkbox">
  <input type="checkbox">
  <input type="checkbox">
  <input type="checkbox">
  <input type="checkbox">
  <input type="checkbox">
  <input type="checkbox">
</div>
<script src="https://unpkg.com/jquery"></script>
<script>
  // выберет элементы, которые:
  //   1) `input[type=checkbox]`
  //   2) являются чётными элементами одного предка, независимо от первого условия
  // тем самым, сложится впечатление, что "задизаблены" нечётные элементы
  $('input:checkbox:nth-child(even)').prop('disabled', true);
</script>
Возможно вам подойдёт другой селектор: nth-of-type()
JavaScript
1
  $('input:checkbox:nth-of-type(even)').prop('disabled', true);
2
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
17.10.2019, 07:38
mel27, j2FunOnly, если потомки-инпуты разнотипные, то у нас остается два варианта:
- jQuery.filter()
- начать думать о коллекции элементов, как об обычной коллекции.

Например, в современных браузерах коллекция элементов итерируемая.
Соответственно, можно использовать технологию итераторов.
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
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
    <input type="hidden" id="check1">
    <input type="checkbox" id="check2">
    <input type="checkbox" id="check3">
    <input type="checkbox" id="check4">
    <input type="checkbox" id="check5">
    <input type="checkbox" id="check6">
    <input type="checkbox" id="check7">
    <input type="checkbox" id="check8">
 
    <script>
        function* even(iterable) {
            let include = true;
            for (let e of iterable) {
                if (include = !include)
                    yield e;
            }
        }
        // for (let e of even(document.querySelectorAll("input[type=checkbox]")))
        //     e.setAttribute("disabled", "");
 
        $(':checkbox').filter(function (i) { return i % 2; }).prop('disabled', true);
 
        for (let e of even(document.querySelectorAll("input[type=checkbox]")))
            console.log(e);
 
    </script>
</body>
</html>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.10.2019, 07:38
Помогаю со студенческими работами здесь

Не работает селектор по id
День добрый, у меня есть var currentProgramBySelect = $('#'+selectedProgramInSelect+']'); и оно не работает, а почему - загадка. Пробовал и...

Непонятный селектор
Никак не разберусь с примером как работает селектор '&lt;div /&gt;' в следующей функции: function htmlEncode(value) { var encodedValue =...

Сложный селектор
Есть следующий стиль: .ac-container input.accordion:checked ~ div.ac-tab.ac-small{ height: 140px; } Можно ли поменять height...

Сложный селектор
Привет. Помогите пожалуйста составить селектор для выборки нескольких типов &lt;input&gt;. Я пишу универсальную функцию считывания данных...

Написать селектор
Здравствуйте. Помогите пожалуйста написать селектор. Нужно выбрать теги с определённым значением одного атрибута внутри тега с определённым...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 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
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru