Я хочу знать, какой «дочерний» элемент списка был нажат, не прибегая к идентификаторам, например: предположим, что у нас есть 2 списка (родительский), и каждый из них имеет 3 ссылки (дочерние):
<ul class="padre">
<li><a href="#" class="hijo">Link1</a></li>
<li><a href="#" class="hijo">Link2</a></li>
<li><a href="#" class="hijo">Link3</a></li>
</ul>
<ul class="padre">
<li><a href="#" class="hijo">Link4</a></li>
<li><a href="#" class="hijo">Link5</a></li>
<li><a href="#" class="hijo">Link6</a></li>
</ul>
Единственный способ различать их, не прибегая к «идентификаторам», - это положение массива:
var padre = document.getElementsByClassName('padre');
var array2D = new Array();
for (var i = 0; i < padre.length; i++) {
var posicionPadre = padre[i];
array2D[i] = posicionpadre;
var hijos = posicionPadre.children;
for (var j = 0; j < hijos.length; j++) {
var posicionHijo = hijos[j];
array2D[i][j] = posicionHijo;
}
}
И таким образом я фиксирую, когда был сделан щелчок по документу:
document.addEventListener("click", function(evt){});
Мне нужно было бы только знать, какой дочерний элемент соответствующего родителя щелкнул. Я предлагаю этот пример без «ID», потому что, если я продолжу добавлять ссылки (дочерние) к каждой из них, мне придется указать другой ID, а это утомительная работа. Вы также можете сделать автоматически увеличивающийся идентификатор с помощью javascript, но это не тот случай, который я хочу применить.
Если можете, реализуйте jQuery. Это будет выглядеть так:
При этом нет необходимости создавать массивы и идентификаторы. В зависимости от его типа и класса можно получить любой атрибут элемента при его изготовлении
click
.Нет необходимости добавлять идентификаторы для назначения события элементу. Например, мы можем выбрать все
a
с classhijo
, которые являются прямыми дочерними элементами ali
, который, в свою очередь, является прямым дочерним элементом aul
классаpadre
:И, выбрав их, мы можем назначить им событие.
Код:
я оставляю вам пример
Вы должны обусловить все ссылки событием клика, в вашем случае их 3:
а с помощью таргета можно определить какая из ссылок была нажата, то по названию ссылки можно отработать что бы к ней можно было зайти, например назывались бы ссылка_1, ссылка_2, ссылка_3 с разбиением можно разрезать и получить 1, 2, 3
ПРИМЕЧАНИЕ: имена сын_1, сын_2, сын_3......... вы должны крестить их динамически с помощью for