Изменить нумерацию в заказанном списке?

Вы можете использовать код ниже, если у вас есть привязка для местоположения:

Page.ClientScript.RegisterStartupScript(this.GetType(), "hash", "location.hash = '#MOVEHERE';", true);
18
задан nickf 14 June 2009 в 20:02
поделиться

6 ответов

Глядя на все эти ответы, я чувствую себя немного противно. Вы действительно хотите использовать для этого LI? Если это означает создание «пустышки», или javascript, или пользовательских классов CSS, я бы начал искать другие возможности. Суть LI (на мой взгляд) НЕ в том, чтобы самостоятельно управлять нумерацией. Если вам нужно управлять числами самостоятельно, то вы используете LI только для управления стилем - как насчет создания собственного стиля и просто вставки чисел в или что-то в этом роде?

6
ответ дан 21 October 2019 в 05:29
поделиться

В li есть атрибут value , хотя он устарел:

<ol>
    <li value="2">item two</li>
    <li value="6">item six</li>
    <li value="9">item nine</li>
</ol>

Страница w3schools для < li . @ value > говорит:

Атрибут value элемента li устарела в HTML 4.01 и является не поддерживается в XHTML 1.0 Strict DTD.

Примечание: На данный момент CSS отсутствует. альтернатива для атрибута value.

(Несмотря на то, что на главной

  • странице указано «использовать стили» для предупреждения об устаревании.)

    Черновик ссылки редактора HTML 5 для ] li предполагает, что он все еще действует там ...

  • 13
    ответ дан 21 October 2019 в 05:29
    поделиться

    В HTML 4.01 есть устаревший атрибут value для

  • :

    <ol>
    <li value="30"> makes this list item number 30.
    <li value="40"> makes this list item number 40.
    <li> makes this list item number 41.
    </ol>
    

    Нерекомендуемый ( CSS) ответ (как часто бывает) более элегантный, но менее ... прямой :) Спецификация несколько суха; googling обнаруживает более удобные вещи, такие как this :

    Точно так же, как продолжение нумерации из предыдущего списка вам понадобится установить свойство CSS для увеличения правильный счетчик. Но сделать это начать увеличивать с другого отправная точка вы можете пройти необязательный второй параметр в counter-reset свойство числа. Так начиная с 5 будет смотреть что-нибудь вот так в вашем CSS:

     ol.continue {
    сброс счетчика: глава 4; / * Сбрасывает счетчик на 4. * /
    }
    

    Поскольку счетчик всегда сбрасывается перед его увеличением, чтобы запустить наш список с цифрой 5 нам нужно будет установите счетчик на 4.

  • 18
    ответ дан 21 October 2019 в 05:29
    поделиться

    Устаревший способ HTML

    <ol>
       <li>List item 1</li>
       <li VALUE=5 TYPE="A">List item E</li>
       <li>List item 3</li>
    </ol>
    

    Способ CSS

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <style type="text/css">
    ol { 
        counter-reset:item; 
     }
    li {
        display:block; 
     }
    li:before { 
        content:counter(item) '. '; 
        counter-increment:item; 
     }
    #new_number {
        counter-reset:item 24;
     }
    </style>
    
    <!--[if IE]>
    <script type="text/javascript">
    window.onload=function() {
       document.getElementById('new_number').value='25';
     }
    </script>
    <![endif]-->
    
    </head>
    <body>
    
    <ol>
      <li id="new_number">list item</li>
      <li>list item</li>
      <li>list item</li>
      <li>list item</li>
      <li>list item</li>
      <li>list item</li>
    </ol>
    
    </body>
    </html>
    
    3
    ответ дан 21 October 2019 в 05:29
    поделиться

    Например -

    <ol id="reverse_numbering">
        <li>foo</li>
        <li>bar</li>
        <li>baz</li>
    </ol>
    

    Это то, что вы можете сделать -

    <script type="text/javascript">
        var reverse = $('reverse_numbering');
        reverse.style.listStyle='none';
        var li = reverse.getElementsByTagName('li');
        for(var i=0; i<li.length; i++) {
            li[i].insertBefore(document.createTextNode(li.length-i+'. '), li[i].firstChild);
        }
    </script>
    

    Ссылка: Справочные форумы HTML .

    2
    ответ дан 21 October 2019 в 05:29
    поделиться

    Я думаю, что эта проблема начинается с семантики (которая, как вы знаете, является одним из столпов создания стандартных страниц): вы хотите использовать упорядоченный список для представляют собой неупорядоченный .

    Мои предложения:

    1) Используйте ul и добавляйте изображения с числами на основе классов (это можно сделать программно, и вам нужно только один раз сгенерировать числовые изображения, плюс он дает вам варианты стилей)

    2) Используйте список определений. Я немного знаю его растягивающую семантику, но если «термин» (dt) - «Horizontal», а определения (dd) - это варианты кроссворда, я думаю, что он становится семантическим. Используя это, вы можете добавлять нужные числа и стилизовать их, используя любой тег, который вам нравится.

    Надеюсь, это поможет.

    0
    ответ дан 21 October 2019 в 05:29
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: