【发布时间】:2021-10-27 22:02:54
【问题描述】:
我正在尝试识别来自列表中的列表的 JavaScript 中的按钮按下。
在基本术语中,我认为它就像一个 2x2 表 - 例如。如果按下右上角的按钮,它的索引应该是 0-1。如果按下右下角,它的索引应该是 1-1。如果左上角被按下索引应该是 0-0,左下角 1-0 等等。
子列表构成父列表的行,由一系列预定义的模板组成。每个子列表的 ID 都是使用父列表的索引 id 生成的。
我想知道这方面的最佳做法。我正在使用 Crestron 的 ch5 库,但希望我可以将通用原则应用于我的问题。
我已经简化了 HTML:
<template id="template-0">
<button id="post-1">Item 1</button>
</template>
<template id="template-1">
<button id="post-2">Item 2</button>
</template>
<ch5-list
class="verticalList"
size="2"
indexid="idy"
id="parent-list"
orientation="vertical">
<template>
<ch5-list
class="horizontalList"
id="child-list{{idy}}"
size="2"
indexid="idx"
orientation="horizontal">
<template>
<ch5-template templateid="template-{{idx}}">
</ch5-template>
</template>
</ch5-list>
</template>
</ch5-list>
我是 HTML 新手,如果这是一个愚蠢的问题,我深表歉意。
任何帮助将不胜感激! 谢谢
【问题讨论】:
-
如果你正在生成id,你可以使用它们。只需获取事件目标的 id 及其父级的 id。
-
这在 JavaScript 中会是什么样子?请问我可以举一个简单的例子吗?谢谢
-
您可以使用Element.getAttribute() 从元素中检索所需属性的值。然后你需要从 id 中提取一个索引 - 假设你有一个属性
templateid="template-123"你可以使用正则表达式:'template-123'.match(/\d+/)[0] // gives '123' -
请提供您要操作的生成的 DOM 结构的具体示例,以便我们向您展示可以工作的示例代码。
标签: javascript html list