我想知道单击列表的哪个“子”元素而不必求助于 ID,例如:假设我们有 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>
区分它们而不必诉诸“ID”的唯一方法是使用数组的位置:
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 自动递增 ID,但我不想应用这种情况。
如果可以,请实现 jQuery。它看起来像这样:
有了这个,就不需要创建数组,也不需要 id。根据其类型和类,您可以在制作元素时获取元素的任何属性
click
。无需添加 id 即可将事件分配给元素。例如,我们可以选择所有
a
带有 classhijo
的,它们li
是 a 的直接子代,而后者又是 a 的直接ul
子代padre
:而且,通过选择它们,我们可以为它们分配一个事件。
代码:
我给你举个例子
您必须使用点击事件来调节所有链接,在您的情况下有 3 个:
并且在目标的帮助下,您可以识别哪些链接被按下,然后使用链接的名称您可以使用它以便您可以访问它,例如它们将被称为链接_1、链接_2、链接_3,您可以使用拆分剪切得到 1, 2, 3
注意:名字 son_1、son_2、son_3.......你必须用 for 动态地给他们施洗