Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript OL li编号问题_Javascript_Html_Css - Fatal编程技术网

Javascript OL li编号问题

Javascript OL li编号问题,javascript,html,css,Javascript,Html,Css,我有以下顺序列表: <ol> <li>First</li> <li>Second</li> <li>Third</li> </ol> 首先 第二 第三 我必须使用“display”属性一次显示一个li。问题是,无论显示哪个li,列表编号都显示1。因此,我看到的不是“2.Second”或“3.Third”,而是“1.Second”、“1.Third”等 visib

我有以下顺序列表:

<ol>     
    <li>First</li>
    <li>Second</li>
    <li>Third</li>
</ol>

  • 首先
  • 第二
  • 第三

  • 我必须使用“display”属性一次显示一个li。问题是,无论显示哪个li,列表编号都显示1。因此,我看到的不是“2.Second”或“3.Third”,而是“1.Second”、“1.Third”等

    visibility: hidden;
    
    把它改成

    visibility: visible;
    
    当你想展示的时候

    jQuery

    显示:

    $(element).css("visibility","visible");
    
    要隐藏:

    $(element).css("visibility","hidden");
    

    我从您的问题
    中了解到,我必须一次显示一个li
    ,您可以使用
    start
    属性从某个索引开始

    <ol>
        <li>First</li> <!-- 1 -->
        <li>Second</li> <!-- 2 -->
        <li>Third</li> <!-- 3 -->
    </ol>
    
    <ol>
        <li>First</li> <!-- 1 (default)-->
    </ol>
    
    <ol start="2">
        <li>Second</li> <!-- 2 -->
    </ol>
    
    <ol start="3">
        <li>Third</li> <!-- 3 -->
    </ol>
    
    <ol start="50">
        <li>Fifty</li>
        <li>Fifty One</li>
    </ol>
    

    更新:(创建函数)

    看着问题(不清楚)和你的小提琴,你似乎希望隐藏的div保留其列表顺序号,并显示其各自的列表编号,而不是从1开始。这在jquery
    .hide()
    .show()
    中是不可能的,因为它们使用的display属性会更改列表的序号。您需要使用可见性

    试一试

    还有一个css

    ol li {
        visibility : hidden; /*Or just use jquery to set the css to visibility hidden*/
    }
    

    你问的问题非常不清楚。@AnandNalya你想要这个@PSL是的,我想这就是答案——我会投赞成票——你是第一个建议使用可见性的人。坦率地说,如果这个问题措辞得当,这将是一个很好的问题。@PSL是的。我也不认为它是复制品。撤回了我的投票。
    function hideLiByIndex(i)
    {
        $('li').hide();
        li = $('li').eq(i);
        li.closest('ol').attr('start', i+1).find(li).show();
    }
    
    hideLiByIndex(1);
    
    $('li').not(':eq(2)')
              .css('height', '0px') //Use this only if you dont want to show the lists that are hidden because visibility takes space in the page flow.
              .end().filter(':eq(2)')
              .css('visibility', 'visible');
    
    ol li {
        visibility : hidden; /*Or just use jquery to set the css to visibility hidden*/
    }