Возможно ли получить метку элемента списка (<li>) с помощью JavaScript? - PullRequest
6 голосов
/ 10 мая 2010

Если у меня есть ul с 3 предметами в нем, а list-style-type установлен на lower-alpha, я получаю это

а. Элемент 1

б. Элемент 2

с. Элемент 3

С помощью jQuery я могу легко получить значение любого элемента, который вы щелкнете - «Элемент 1», если я нажму первый. Но можно ли получить ярлык элемента списка? В этом случае a ?

1 Ответ

7 голосов
/ 10 мая 2010

Не уверен, что DOM API предоставляет это, но вы могли бы сделать ...

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

jsFiddle

... если у вас было до 26 элементов. Если у вас есть больше, вам нужно будет использовать более сложный алгоритм, обычно известный как Алгоритм строки в столбце .

$('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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...