2013-11-22 2 views
3

Я столкнулся с необычной ситуацией с общей совместимостью IE.Ссылки, содержащие метку метки, не могут быть изменены IE

Следующая ссылка unclickable в IE, но отлично на все остальное (я пробовал IE8 и выше):

<a href="http://bbc.co.uk"><label>text</label></a> 

Хотя выше не работает, поменяв метку для DIV или пролетом Это хорошо.

Есть ли разумный способ заставить этот стиль разметки работать в IE с минимальными изменениями. Я хотел бы сохранить метку ярлыка, если это вообще возможно.

+0

Пробовал ли вы поместить тег '' в тег '

+0

Проблема в том, что у нас есть каркас перевода, который содержит ключи на элементах ярлыков, заменяя их содержимое соответствующим образом переведенным текстом. Помещение ссылки внутри метки приведет к потере ссылки при замене содержимого на перевод. Именно из-за этой структуры я хочу сохранить текущую структуру. –

+0

Разметка недействительна, и все ставки отключены. Если вам требуется быстрое исправление в ситуации, когда разметка не может быть исправлена, вы должны описать реальную ситуацию (например, нужны ли элементы «label» только в статической разметке или в DOM) - возможно, консультанту, так как это некоторые вещи не являются действительно проблемами, разделяемыми многими людьми, так что здесь могут быть предоставлены общие полезные ответы. –

ответ

6

Не использует ярлык внутри тега, лишает html как ярлык интерактивного контента? Для этого вам лучше всего воспользоваться диапазоном.

+0

Пока «не делай этого», это правильный ответ, я прихожу в конце проекта, и более широкий контекст сайта основывается на этой структуре, поэтому я ищу чтобы увидеть, есть ли что-то, что можно сделать с ним. –

4

Этикетки предназначены для элементов формы. В этом контексте они используются неправильно. Любой, кто использует программу чтения с экрана, будет смущен разметкой, так как после «просмотра» метки они ожидают соответствующего элемента формы. Элемент span будет лучше подходит и будет работать во всех браузерах с минимальными изменениями, так как вы просто меняете <label> на <span>.

Смежные вопросы