Вложенные HTML-теги привязки

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

Я хотел использовать вложенный якорь, но это не сработало, потому что это запрещено. Затем я увидел навигацию по вкладкам на Pageflakes, которая действительно работала (включая вложенные гиперссылки). Почему?


person ollifant    schedule 21.08.2008    source источник


Ответы (5)


Они должны делать какие-то безумные вещи с JavaScript, чтобы заставить его работать (обратите внимание, что ни родительский, ни вложенный теги привязки не имеют имени или атрибута href — вся функциональность выполняется через имя класса и JS).

Вот как выглядит html:

<a class="page_tab page_tab">
  <div class="page_title" title="Click to rename this page.">Click & Type Page Name</div>
  <a class="delete_page" title="Click to delete this page" style="display: block;">X</a>
</a>
person Yaakov Ellis    schedule 21.08.2008

Вложенные ссылки запрещены

person Jarosław Przygódzki    schedule 19.01.2010
comment
Верно ли это для HTML 5? Я этого не вижу. w3.org/ html/wg/drafts/html/master/ - person Sean; 22.03.2013
comment
Я вижу это, но потребовалось время, чтобы увидеть это. На странице, на которую вы ссылаетесь: элемент a может быть обернут вокруг целых абзацев, списков, таблиц и т. д., даже целых разделов, если внутри нет интерактивного содержимого (например, кнопок или других ссылок). - person Lori; 08.06.2013
comment
@Sean В HTML5 ‹a› называется интерактивным контентом. w3.org/ html/wg/drafts/html/master/ говорит, что в модели контента не должно быть потомков интерактивного контента - person phnah; 05.09.2014

На самом деле код, который я вставил ранее, был сгенерированным DOM после всех манипуляций с JS. Если у вас нет расширения Firebug для Firefox, вам следует Получи это сейчас.

Редактировать: Удалил старый пост, он больше не нужен. Firebug есть, так что этот остается :)

person Chris Marasti-Georg    schedule 21.08.2008

Я подозреваю, что работающие или не работающие вложенные ссылки могут зависеть от того, отображает ли ваш браузер страницу в строгом режиме (например, XHTML DTD, application/xml+html MIMEtype) или в режиме «quirks».

person Jakub Narębski    schedule 14.12.2008

Несмотря на то, что вложенные теги незаконны, но их запись с использованием JS будет работать!, попробуйте следующее:

$('<a>', {
     href: 'http://google.com',
     html: '<a>i am nested anchor  </a>I am top Anchor'
 }).appendTo($('body'))
person Anas    schedule 03.11.2015