2017-05-10 2 views
1

divを完全に削除しようとしていますが、スタイルをnoneに設定するだけでなく、別のものを完全に削除して表示することができますか?まだ取り出すことができるように切り替えます。これはhtmlを使って可能ですか?それを別のファイルから読み込むのが唯一の解決策ですか?divを完全に削除/削除して別のものを表示する(トグル)

現時点では、私は選択したページに応じてユーザーをリダイレクトしていますが、理想的には同じページにすべてが必要ですが、完全に更新されます。

function showDiv(elem) { 
    if (elem.value == 19) { 
    // show div 1 
    // delete div 2 completely 
    } else if(elem.value == 20) { 
    // show div 2 
    // delete div 1 completely 
    } 
} 
+0

あなたが完全にdiv要素を削除した場合、あなたは再作成せずにそれを回復することはできませんそれ。それを隠して何が問題なの? –

+0

投稿に関連性とコードがないため、phpタグとhtmlタグの両方を削除しました。関連性を示すまで、タグは使用しないでください。関連性とコードを表示した後にそれらを追加することができます。 –

+0

誰かがすぐにすべてのコンテンツ(スピード、SEOなど)を読み込み、後でフェッチするのではなく、すべてのコンテンツを最初に読み込んで(div1 + 2)、その一部を破棄したい場合は、もう一度それを元に戻したいですか?さて、ajaxの使い方を見てみましょう。 – yezzz

答えて

3

あなたはクライアント側でこれを実行したい場合は、テンプレートのアプローチを使用することができます。

function showDiv(elem) { 
 
    var value = elem.value; 
 
    var templateId = 'template' + value; 
 
    var containerId = 'main-container'; 
 
    var template = document.getElementById(templateId); 
 
    var container = document.getElementById(containerId); 
 
    if (template && container) { 
 
    container.innerHTML = template.textContent; 
 
    } 
 
} 
 

 
showDiv({value: 19});
<select onchange="showDiv(this)"> 
 
    <option>19</option> 
 
    <option>20</option> 
 
</select> 
 

 
<div id="main-container"></div> 
 

 
<script type="text/template" id="template19"> 
 
    <div>Content 19</div> 
 
</script> 
 

 
<script type="text/template" id="template20"> 
 
    <div>Content 20</div> 
 
</script>

関連する問題