获取有序列表项的计算数量

时间:2016-11-21 17:56:34

标签: javascript html dom

有没有办法获取有序列表项目的内容?

sudo cp ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf.default ~/.phpenv/versions/$(phpenv version-name)/etc/php-fpm.conf
/home/travis/build.sh: line 57: phpenv: command not found
var list = document.getElementById('list');
list.style.listStyleType = 'upper-roman';
   

这将产生这样的项目列表。

<ol class="list" id="list">
  <li class="list__item">apple</li>
  <li class="list__item">banana</li>
  <li class="list__item" id="target">orange</li>
  <li class="list__item">pear</li>
</ol>

有没有办法获取I. apple II. banana III. orange IV. pear 列表项的III字符串?

编辑:

这里的罗马字符只是一个例子。我希望能够访问任何#target选项提供的内容。

3 个答案:

答案 0 :(得分:3)

我能想到的唯一方法是:

1)获取项目的索引(例如3)

2)有这样的功能:https://stackoverflow.com/a/9083076/1324321

3)通过函数

运行索引

答案 1 :(得分:2)

我创建了一个jsfiddle here ,可以向用户显示所选的选择。虽然javascript没有将其保存为字符串,但我首先找到所选列表项的索引,然后使用&#34; start&#34;重新创建该项的列表。属性被设置为该索引。

这是HTML:

<ol>

  <li>first</li>
  <li>second</li>
  <li id="active">third</li>
  <li>Fourth</li>
</ol>

<br/>
<br/>
<div id='selected'>
</div>

和JQuery:

$(document).ready(function() {
  var intt = $('li').index($('#active')) + 1;
  $('#selected').html('<ol start="' + intt + '"><li></li></ol>');
});

<强> JSFIDDLE

答案 2 :(得分:1)

您可以使用start属性并迭代所有列表元素。

var list = document.getElementById('list'),
    start = list.start || 0;

list.style.listStyleType = 'upper-roman';
Array.prototype.forEach.call(list.getElementsByTagName('li'), function (a, i) {
    if (a.id === 'target') {
        console.log(i + start);
        console.log(a.innerHTML);
    }
});
<ol class="list" id="list" start="5">
  <li class="list__item">apple</li>
  <li class="list__item" >banana</li>
  <li class="list__item" id="target">orange</li>
  <li class="list__item">pear</li>
</ol>