javascript - 可以使用 JavaScript 获取列表项 (<li>) 标签吗?

标签 javascript jquery list dom

如果我有一个包含 3 个项目的 ul 并且 list-style-type 设置为 lower-alpha,我最终得到了这个

a. Item 1

b. Item 2

c. Item 3

使用 jQuery,我可以轻松获取您单击的任何项目的值 - 如果我单击第一个项目,则为“项目 1”。但是我可以获得列表项标签吗?在这种情况下a?

最佳答案

不确定 DOM API 是否暴露了这一点,但你可以这样做......

$('ul').on('click', 'li', function() {
    var label = String.fromCharCode(97 + $(this).index());
});

jsFiddle

...如果您有 26 岁以下 元素。如果您有更多,则需要使用更复杂的算法,通常称为 Excel 行到列 算法。

$('ul').on('click', 'li', function() {
  var index = $(this).index() + 1;
  var label = '';
  var mod;

  while (index) {
    mod = (index - 1) % 26;
    label = String.fromCharCode(97 + mod) + label;
    index = Math.floor((index - mod) / 26);
  }
});

jsFiddle

关于javascript - 可以使用 JavaScript 获取列表项 (<li>) 标签吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2800210/

相关文章:

javascript - 删除选择标签中第一个选定元素的选定属性?

python - 按两个字段对二维列表进行排序

java - 如何从列表集合中获取特定元素?

javascript - HTML 表单输入值未在 JavaScript 函数中更新

javascript - 相对于其友元元素定位元素

javascript - 相当于 Angular 中的 getElementById?

javascript - 至少包含 1 个数字和 1 个字符且固定长度为 11 的字母数字字符串的正则表达式

javascript - 输入 jQuery 中 'ä' ,'ö' ,'ü' 的处理

c# - 无法隐式转换类型 System.Collections.Generic.List

javascript - $ 不是函数错误