Кажется, есть законные (производительность) проблемы с использованием комментариев в качестве заполнителей - с одной стороны, нет CSS-селектора, который может соответствовать узлам комментариев, поэтому вы не сможете запросить их, например, с помощью. document.querySelectorAll()
, что делает поиск элементов комментария сложным и медленным.
Тогда у меня возник вопрос: есть ли еще один элемент, который я могу разместить внутри, который не имеет видимых побочных эффектов? Я видел некоторых людей, использующих тег <meta>
, но я изучил это, и использование этого в <body>
не является допустимой разметкой.
Итак, я остановился на теге <script>
.
Используйте пользовательский атрибут type
, чтобы он фактически не выполнялся как сценарий, и используйте атрибуты data-
для любых данных инициализации, требуемых сценарием, который будет инициализировать ваши заполнители.
Например:
<script type="placeholder/foo" data-stuff="whatevs"></script>
Затем просто запросите эти теги - например ::
document.querySelectorAll('script[type="placeholder/foo"]')
Затем замените их при необходимости - Вот простой пример DOM .
Обратите внимание, что placeholder
в этом примере не является какой-либо определенной "реальной" вещью - вы должны заменить это, например, на. vendor-name
, чтобы убедиться, что ваш type
не сталкивается с чем-то "реальным".