Можно ли обернуть элемент <li>в <a>с синтаксисом Markdown? - PullRequest
0 голосов
/ 22 января 2012

Я пытаюсь создать HTML:

<ul>
  <a href="#1"><li>item 1</li></a>
  <a href="#2"><li>item 2</li></a>
</ul>

И так далее.Я попробовал следующую уценку:

[* item 1](#1)
[* item 2](#2)

Но она производит совершенно другой эффект.

Возможно, я не в проблемном месте у Markdown, но было бы здорово, если бы я мог это сделать!

1 Ответ

2 голосов
/ 22 января 2012

Нет, нет, так как это недопустимый HTML. a не является действительным прямым потомком ul.

Из статьи об элементе UL в W3C в документации по HTML5:

4.5.6 Элемент ul

Категория
Расход .

Контексты, в которых этот элемент может использоваться:
Где ожидается содержание потока .

Модель содержимого:
Ноль или более элементов li.

Атрибуты содержимого:
[Глобальные атрибуты] [4]

Интерфейс DOM:
interface HTMLUListElement : HTMLElement {};

Как видно из описания Content Model , ничего из a не упоминается. Вместо этого правильный вывод, который вы ищете -

<ul>
  <li><a href="#1">item 1</a></li>
  <li><a href="#2">item 2</a></li>
</ul>

Что легко сделать в Markdown с помощью

- [item 1](/#1)
- [item 2](/#2)

Что бы выглядело как


Обновление Я только что понял, что вы пытаетесь создать относительные ссылки на хэштеги, что я не считаю возможным с Markdown.

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