在HTML文档中,是否可以仅为有序列表中的列表项(li
)或项目符号(ol
)设置点击事件?
我希望能够点击该号码,然后进行一些处理。到目前为止,我有两个想法,但希望还有其他方法可以使用正常的有序列表:
以下是该列表的示例。我希望能够点击显示为1.
,2.
或3.
的部分。
HTML来源:
<ol>
<li>First Item</li>
<li>Second Item</li>
<li>Third Item</li>
</ol>
浏览器中的结果:
1. First Item
2. Second Item
3. Third Item
答案 0 :(得分:2)
使用这个类,只需使用z-index,就可以实现它。
.all {
margin-left:-30px;
padding-left: 30px;
}
用于RTL方向:
.all {
margin-right:-30px;
padding-right: 30px;
}
答案 1 :(得分:2)
应用@Fallexe建议但在JS中添加跨度:
[].slice.call (document.querySelectorAll ('ol, ul')).forEach (function (list) {
for (var s, el = list.firstElementChild; el; el = el.nextElementSibling)
el.innerHTML = '<span>' + el.innerHTML + '</span>';
list.addEventListener ('click', function (ev) {
if (ev.target.tagName !== 'SPAN')
for (var el = this.firstElementChild; el; el = el.nextElementSibling)
el.className = el === ev.target ? 'selected' : '';
}, false);
});
小提琴