Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
536 / 366 / 16
Регистрация: 17.12.2009
Сообщений: 965
1

Поведение селектора

24.07.2019, 00:01. Показов 1172. Ответов 5

Привет! Натолкнулся на одну пока непонятную особенность селектора. Точней его выполнения в документе на ready.
Суть проблемы в следующем. Если указывать class тега, то все работает, а если id, то почему то нет. Хотя класс и айдишник тега input называются одинаково.

Вот так работает:
Javascript
1
2
3
$('.delete').click(function(){
      $(this).parent().parent().remove();
    });
А вот так не работает:
Javascript
1
2
3
$('#delete').click(function(){
      $(this).parent().parent().remove();
    });
В принципе дискомфорта не вызывает в рамках выполнения задачи, но хочу понять почему не работает с ИД?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.07.2019, 00:01
Ответы с готовыми решениями:

Можно ли использовать 2 селектора в .on
У меня есть желание привязать один и тот же обработчик к двум сабмитам разных форм Можно же...

Как сделать выборку селектора?
Здравствуйте! Подскажите пожалуйста как правильно сделать выборку селектора - а именно только те...

Запись селектора в переменную и его использование
Есть несколько элементов с одинаковыми селекторами. Как правило их нужно добавить в переменную,...

Создание переменной на основе селектора кликаемого объекта.
Всем добрый день.Такой вот вопрос.Пишу свой первый скрипт на jquery, и вроде бы все почти ничего но...

5
Эксперт JS
2027 / 1086 / 408
Регистрация: 29.04.2016
Сообщений: 2,603
24.07.2019, 01:55 2
Лучший ответ Сообщение было отмечено Сергей1980 как решение

Решение

Сергей1980,

Проверьте у вас на странице нету больше элементов с id="delete" ? Если есть то из-за этого и не работает, вернее работает но только на самом первом элементе -> https://codepen.io/Mr_Sergo/pe... itors=1010
HTML5
1
2
3
<button id="delete">Кнопка</button>
<button id="delete">Кнопка</button>
<button id="delete">Кнопка</button>
Javascript
1
2
3
$('#delete').click(function(){
    alert(1);
});
Ид в пределах страницы не должен повторяться.

Еще, возможно, элемент с id="delete" создается динамически- если так то можно попробовать
Javascript
1
2
3
$(document).on('click','#delete',() => {
    $(this).parent().parent().remove();
});
Но лучше будет если вы скинете полный html с js-ом- что бы можно было видеть что у вас там.
0
536 / 366 / 16
Регистрация: 17.12.2009
Сообщений: 965
24.07.2019, 02:42  [ТС] 3
Спасибо большое, да, вы правы! Втесался в код задублированный тег инпут с одноименным айдишником. Не углядел в мешанине.

Добавлено через 3 минуты
За второй код спасибо отдельно, как раз собирался дописать обработку элементов свежесозданной строки в таблице. Уже как раз после ready. Думал как listener повесить правильно.
0
Эксперт JS
2027 / 1086 / 408
Регистрация: 29.04.2016
Сообщений: 2,603
24.07.2019, 06:31 4
Сергей1980, не за что

Добавлено через 3 часа 5 минут
Сергей1980,

Не будет у вас так работать
Javascript
1
2
3
$(document).on('click','#delete',() => {
    $(this).parent().parent().remove();
});
this в стрелочных функциях работает не так как ожидается. Поэтому правильней будет так
Javascript
1
2
3
$(document).on('click','#delete', function(){
    $(this).parent().parent().remove();
});
0
536 / 366 / 16
Регистрация: 17.12.2009
Сообщений: 965
24.07.2019, 23:27  [ТС] 5
Цитата Сообщение от Mr_Sergo Посмотреть сообщение
() => {
похоже на лямбду из Java, поковыряю, в Java такая конструкция имеет место быть.
0
Эксперт JS
2027 / 1086 / 408
Регистрация: 29.04.2016
Сообщений: 2,603
25.07.2019, 00:14 6
Цитата Сообщение от Сергей1980 Посмотреть сообщение
похоже на лямбду из Java
Это стрелочная функция -> https://developer.mozilla.org/... _functions
Цитата Сообщение от Сергей1980 Посмотреть сообщение
в Java такая конструкция имеет место быть.
В javascript тоже
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.07.2019, 00:14

Помощь в написании контрольных, курсовых и дипломных работ здесь.

можно ли сделать максимальной уровень селективности селектора?
Здраствуйте. Возможно ли в jquery сделать так, что бы у нажатого одного из многих одинаковых...

Есть ли аналог селектора :contains, который ищет по полному соответствию а не по подстроке?
Как сделать чтобы код выбирал не первый, а второй элемент? Есть ли такой селектор? Мне приходит в...

Графики от highcharts. Как передать в дату значение массива или значения селектора?
Всем драсьте! Всю голову изломал. Ни фига не работает. У меня есть данные на странице (выборочные...

Выборка селектора
Добрый день! Есть кусок кода &lt;html&gt; &lt;head&gt; &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot;...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.