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

时间:2010-05-10 03:53:01

标签: javascript jquery list dom

如果我有一个ul,其中有3个项目且list-style-type设置为lower-alpha,我最终会知道

  

一个。第1项

     

湾第2项

     

℃。第3项

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

1 个答案:

答案 0 :(得分:7)

不确定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