Ответ 1
Первый метод не должен передавать стандарты XHTML - вы путаете разметку с помощью DOM.
Мне нужно динамически создать тег <br/>
с помощью JavaScript.
var br = document.createElement('br');
А также
var br = document.createElement('<br />');
не работает
Первый вариант срочно создает тег <br>
на странице, который не соответствует стандартам XHTML. Есть ли что-нибудь подобное?
Первый метод не должен передавать стандарты XHTML - вы путаете разметку с помощью DOM.
Первый вариант будет работать и не имеет ничего общего с XHTML, поскольку операции DOM выполняются после разбора документа, и, следовательно, в этой точке нет стандарта XHTML/HTML. Пока вы не пытаетесь вывести HTML в строку, этот подход будет работать нормально.
Простой Script HTML и JavaScript для динамического добавления ярлыка на странице.
<SCRIPT language="javascript">
function add() {
//Create an input type dynamically.
var br = document.createElement("br");
var foo = document.getElementById("fooBar");
foo.appendChild(br);
}
</SCRIPT>
<INPUT type="button" value="Add" onclick="add()"/>
<span id="fooBar"> </span>
This text will go down every time you click on add button
В действительности ваш код будет по-прежнему проверяться, если ваш JavaScript точно не проверяет, потому что валидатор анализирует только обработанный HTML-код, а не динамический код, созданный JavaScript. Если вы позаботились, вы также можете использовать трюк innerHTML
или document.createTextNode('<br />');
, если вы хотите принудительно изменить версию XHTML, но это не рекомендуется. document.createElement('br');
работает отлично.
Этот вопрос не имеет ничего общего с разметкой. Аргумент, переданный createElement, является именем элемента, это не фрагмент разметки или что-то еще, t XML, или HTML, или XHTML, или SGML, или любой формы разметки.
Метод createElement возвращает объект DOM, нет разметки и никогда не был.
Обратите внимание, что разметка, переданная браузеру, используется для создания объекта документа, начиная с этого момента, разметка не имеет значения.
Чтобы добавить <br>
в конец некоторого элемента
document.getElementById("Target").innerHTML += "<br>"