Если у меня их, например, несколько, <span>
и я нажимаю на один, как я могу с помощью jquery узнать, на какой из них я нажал? Будучи идентификаторами элементов, автоматически пронумерованных с помощью item_<?php echo $i; ?>
?
То есть я хочу, чтобы при выполнении в пролете id=item_2
это делало меня, например, alert.()
"вы нажали на item_2"
<div id="items_en_uso">
<span style="background:#c9c9c9;padding:3px;" id="item_1">Hola</span><br><br>
<span style="background:#c9c9c9;padding:3px;" id="item_2">adios</span><br><br>
<span style="background:#c9c9c9;padding:3px;" id="item_3">buenas</span><br><br>
<span style="background:#c9c9c9;padding:3px;" id="item_4">malas</span><br><br>
</div>
РЕДАКТИРОВАТЬ:
Пролеты добавляются при нажатии на другой элемент с помощью
$("#clikeable").click(function(){
$("#items_en_uso").append("<span id='item"+count+"'>Hola</span>");
});
Если промежутки установлены вручную (не с помощью jquery), это работает, но если я добавляю их с помощью jquery при нажатии на них, у меня это не работает... Как я могу это исправить?
Метод jQuery .click работает только с элементами, которые уже находятся в DOM при загрузке документа. Чтобы привязать события к элементам, динамически добавляемым в DOM, используйте метод .on для содержащего элемента и отфильтруйте по селектору интересующего элемента.
Изменить: по мере того, как вы комментируете, код можно улучшить.
Таким образом вы оптимизируете часть, где jQuery фильтрует элемент объекта события.
С помощью этого кода вы можете делать то, что хотите, он просто прослушивает все элементы span внутри вашего кода
div
с идентификатором " items_in_use " в вашем коде (предотвращая нажатие на другие элементы span снаружи) и возвращает значение атрибута id , используя объект$(this)
Вы можете сделать это, ссылаясь на элементы, начинающиеся с этого конкретного идентификатора (начинающиеся с
item_
), с помощью селектора,^=
а затем ссылаясь на щелкнутый элемент с помощью зарезервированного словаthis
.Таким образом, как только вы обнаружите элемент, по которому щелкнули и который имеет идентификатор, начинающийся с
item_
, вы сможете получить его атрибут с помощью функцииattr('id')
.Я делаю следующее, чтобы определить, какой элемент списка нажат, надеюсь, это поможет вам.
Вы можете использовать селектор для всех элементов типа span
В этом случае вам придется заменить диапазон на тип элемента, к которому вы хотите получить доступ.