HTML (php, css, JS) - закрывающий тег или встроенный комментарий игнорируется - PullRequest
1 голос
/ 23 мая 2011

В этом тексте

<div class="foo" <!-- onclick="bar();" --> /></div>

/> отображается в браузере (Chrome) и на устройствах iOS. Моим первым предположением было удаление / из <div>, но затем в браузере все еще показывалось >, горе мне!

Решения?

Ответы [ 4 ]

1 голос
/ 23 мая 2011

РЕДАКТИРОВАТЬ:

После обсуждения с OP, было обнаружено, что метод onclick все еще необходим, поэтому решение было использовать <div class="foo" onclick="bar();"> </div> без «комментария код»ит.

Оригинальный ответ:

Попробуйте - <div class="foo" <?php /* onclick="bar();" */ ?> > </div>, что приведет к <div class="foo"> </div>.Обратите внимание, что все это фильтруется вашим PHP.

Для JSP / ASP используйте комментарии в стиле <%-- --%>.<div class="foo" <%-- onclick="bar();" --%> > </div>

0 голосов
/ 23 мая 2011

Комментарий (<!-- -->) - это разметка, которую браузер должен игнорировать.

В этом случае ваша разметка недействительна, потому что вы вложили разметку в разметку неверным способом. Вам нужно будет удалить «onclick="bar();» или переместить весь комментарий из открывающего тега div.

0 голосов
/ 23 мая 2011

Комментарии запрещены внутри тегов, поэтому ваш HTML неверен.

Если вы хотите добавить комментарий, ставьте его после конца тега:

<div class="foo"> <!-- onclick="bar();" --> </div>

Кроме того, вам не следуетиметь символ / в конце начального тега для div.

В HTML (до 5) он закрывает начальный тег, поэтому вы добавляете символ > к данным.Большинство браузеров не учитывают это (ваша проблема из-за комментария).

В HTML-совместимом XHTML это запрещено.

В XHTML он делает div самозакрывающимся тегом,конечный тег не имеет соответствующего начального тега.

В HTML 5 он запрещен. IIRC *. 1016 *

0 голосов
/ 23 мая 2011

Удалить комментарий.Я думаю, что браузер интерпретирует комментарий как закрывающий тег.Просто поместите весь div в комментарии, с другой версией ниже.

...