Цель: вывести на экран сообщение в контейнере с id="alert-container"
.
Написать можно по-разному:
var alertContainer = document.getElementById('alert-container');
alertContainer.innerHTML =
'<div class="alert alert-danger alert-dismissible" role="alert">' +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>' +
'<strong>Внимание! </strong>' + message +
'</div>';
или
var alertContainer = document.getElementById('alert-container');
var alertDangerContainer = document.createElement('div');
alertDangerContainer.className = 'alert alert-danger alert-dismissible';
alertDangerContainer.setAttribute('role', 'alert');
var buttonTimes = document.createElement('button');
buttonTimes.className = 'close';
buttonTimes.type = 'button';
buttonTimes.setAttribute('data-dismiss', 'alert');
buttonTimes.setAttribute('aria-label', 'Close');
var spanButtonTimes = document.createElement('span');
spanButtonTimes.setAttribute('aria-hidden', 'true');
spanButtonTimes.innerHTML = '×';
buttonTimes.appendChild(spanButtonTimes);
var alertWarningStrong = document.createElement('strong');
alertWarningStrong.appendChild(document.createTextNode("Внимание! "));
alertDangerContainer.appendChild(buttonTimes);
alertDangerContainer.appendChild(alertWarningStrong);
alertDangerContainer.appendChild(document.createTextNode(message));
alertContainer.appendChild(alertDangerContainer);
Есть ли различие? Как лучше?
Различий несколько, например, в первом примере содержимое alertContainer
заменится полностью, во втором - добавится один элемент.
Но более глобальное отличие можно увидеть передав в message допустимую html разметку:
в первом случае она отобразиться как html, во втором - это будет обычный текст:
function A1(message) {
var alertContainer = document.getElementById('alert-container');
alertContainer.innerHTML =
'<div class="alert alert-danger alert-dismissible" role="alert">' +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>' +
'<strong>Внимание! </strong>' + message +
'</div>';
}
function A2(message) {
var alertContainer = document.getElementById('alert-container');
var alertDangerContainer = document.createElement('div');
alertDangerContainer.className = 'alert alert-danger alert-dismissible';
alertDangerContainer.setAttribute('role', 'alert');
var buttonTimes = document.createElement('button');
buttonTimes.className = 'close';
buttonTimes.type = 'button';
buttonTimes.setAttribute('data-dismiss', 'alert');
buttonTimes.setAttribute('aria-label', 'Close');
var spanButtonTimes = document.createElement('span');
spanButtonTimes.setAttribute('aria-hidden', 'true');
spanButtonTimes.innerHTML = '×';
buttonTimes.appendChild(spanButtonTimes);
var alertWarningStrong = document.createElement('strong');
alertWarningStrong.appendChild(document.createTextNode("Внимание! "));
alertDangerContainer.appendChild(buttonTimes);
alertDangerContainer.appendChild(alertWarningStrong);
alertDangerContainer.appendChild(document.createTextNode(message));
alertContainer.appendChild(alertDangerContainer);
}
A1('<b>bold text</b>');
A2('<b>bold text</b>');
<div id="alert-container"></div>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Разрабатываю 2D игру(вид сверху) и столкнулся с проблемой реагирования на коллайдерыДело в том, что на сцене есть спрайт персонажа с Rigidbody2D,...