Имеются ввиду лайтбоксы с картинками, модальные окна, всплывающие подсказки при валидации форм и т. д.
Первый способ который приходит в голову - добавлять как обычно с display: none, при клике показывать. Не нравится тем что элемент может и не быть вызван, а в коде будет торчать. И кроме того их обычно удобно добавлять к body чтобы иметь возможность растянуть на всю высоту окна, получается такая каша на верхнем уровне:
<body>
<div class='modal hidden'>...
<div class='alert hidden'>...
<div class='lightbox hidden'>
<header>...
<section>...
<footer>...
Второй - что-то вроде
$('#submit').click(function() {
$('body').append("<div class='modal'>...</div>")
})
Не нравится тем что разметка, в том числе достаточно сложная, находится в скриптах
Какой способ лучше или что я упускаю?