2016-10-03 6 views
0

Мне нужно предотвратить загрузку тегов шаблонов в DOM в начальной загрузке. У меня есть HTML-теги, которые действуют как шаблон. Мне нужно вставить этот код после выполнения действия, но сначала он был добавлен в DOM. Мне нужно, чтобы предотвратить добавления в DOMЗапретить загрузку шаблона в DOM для начальной загрузки

<div id="template-1"> 
    Hello world Template-1 
</div> 
<div id="template-2"> 
    Hello world Template-2 
</div> 
<button onclick="myFunction()">Click me</button> 
<div id="CustomTempl"></div> 

В приведенном выше коде, мне нужно, чтобы сделать шаблон 2, когда мы только нажать на кнопку, но он показывал загрузку страницы. Мне нужно это предотвратить.

В демонстрационном примере я добавил шаблон 2 в функцию onclick и отформатировал CSS.

https://jsfiddle.net/vbpradeep/qu9210wk/

+2

Пожалуйста, позаботьтесь, чтобы правильно форматировать ваш вопрос. Это было довольно непроницаемо. –

+0

Чтобы решить вашу проблему, похоже, вам просто нужно установить 'display: none' в элементе, загружаемом с помощью класса CSS, и удалить этот класс, когда HTML должен быть показан. –

+0

использовать обозначение' script' для шаблонов ' ' – Maxx

ответ

0

Если вы хотите использовать шаблоны способ не использовать documented example так:

<button onclick="useIt()">Use me</button> 
 
<div id="container"></div> 
 
<script> 
 
    function useIt() { 
 
    var content = document.querySelector('template').content; 
 
    // Update something in the template DOM. 
 
    var span = content.querySelector('span'); 
 
    span.textContent = parseInt(span.textContent) + 1; 
 
    document.querySelector('#container').appendChild(
 
     document.importNode(content, true)); 
 
    } 
 
</script> 
 

 
<template> 
 
    <div>Template used: <span>0</span></div> 
 
</template>

+0

это только пример ... мой вопрос не позволяет добавить элемент DOM, не скрывающий .... –

+0

Это не вызывает никакого чувства. Ваши параметры - это просто скрыть/удалить элемент после его рендеринга или добавить его после визуализации DOM с помощью JavaScript. Вы не можете манипулировать элементом перед его визуализацией. – Zorken17

+0

Скрытый элемент не отображается для пользователя и не занимает места на странице. Это означает, что вы можете манипулировать им с помощью JavaScript, но если доза элемента не существует в DOM-дереве, вам нужно добавить i, прежде чем вы сможете ее манипулировать. Я хочу сказать, что $ ("# CustomTempl"). Append ($ ("# template-2")); не будет работать, если элемент # template-2 не находится в DOM на первом месте. – Zorken17

Смежные вопросы