2017-02-15 88 views
0

一個JS的新手問題:如何通過JavaScript來滅活的HTML代碼部分

我想滅活用的JavaScript的HTML代碼的一部分(我手動將由<!-- ... -->做),這取決於一個數字變量(我從文件名中提取):如果var> 10會禁用代碼。

編輯: 如果可能只有簡單的Javascript! 演示html代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<head> 
<script> 
    var param = 10; 
</script> 
</head> 

<body> 
<p>Paragraph One</p> 

<p>Beginning of the part to be removed if param > 10</p> 
<a href="mailto:[email protected]">E-Mail</a><br><br> 
This is simply something other. 
Etc. 
Etc. 
<p>End of the part to be removed</p> 

<p>Paragraph Ten</p> 

</body> 
</html> 
+1

這將是更好,如果你共享一個代碼示例,所以我們可以幫助您更好:) –

回答

1

把你想要刪除/隱藏在一個div內的所有東西一個特定的類或id,然後添加一個if條件,並在條件爲真時隱藏或刪除所需的div。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
 
<html> 
 
<head> 
 
</head> 
 

 
<body> 
 
<p>Paragraph One</p> 
 
<div id="to_remove"> 
 
<p>Beginning of the part to be removed</p> 
 
<a href="mailto:[email protected]">E-Mail</a><br><br> 
 
This is simply something other. 
 
Etc. 
 
Etc. 
 
<p>End of the part to be removed</p> 
 
</div> 
 
<p>Paragraph Ten</p> 
 
    
 
<script type="text/javascript"> 
 
    var param = 11; 
 
    if(param >10) document.getElementById("to_remove").remove(); 
 
    //OR if you want to show the div later use this: 
 
    //if(param>10) document.getElementById("to_remove").style.display = 'none'; 
 
</script> 
 
</body> 
 
</html>

+0

你可以在我的演示中添加到我的OP中展示這個嗎? – newbieforever

+0

它完成了,你只需要把你想要刪除的所有HTML放在一個div中,這樣就很容易找到並刪除....你必須在你的體內添加你的JavaScript,因爲你找不到DOM如果尚未創建。 –

+0

謝謝!我試圖做到這一點,但我不知道,js腳本應該在HTML代碼之後,而不是頭腦中。你是SCHATZ!有人可以將此標記爲已回答嗎?我在這裏看不到,如果我可以給你點...也感謝其他人。 – newbieforever

0

您可以從DOM中刪除元素,例如,通過使用removeChild()

document.getElementById('div').removeChild(document.getElementById('p2'));
<div id="div"> 
 
    <p id="p1">Paragraph one</p> 
 
    <p id="p2">Paragraph two</p> 
 
</div>

+0

謝謝!嗯...作爲一個新手...(1)我的部分代碼不是一個段落,它包含一些插入圖像的行等。(2)如何將這與「if var> 10」結合起來? – newbieforever

0

您可以使用CSS屬性一樣,添加兩個班activeinactive用CSS .active{display:block}.inactive{display:none}。現在你可以使用jQuery添加和刪除有效和無效根據你的情況。類似jquery你可以寫

if(var > 10){ 
$("div").addClass('inactive'); 
    }else{ 
$("div").removeClass('inactive'); 
} 
0

A CSS + jQuery w實現這一目標的y可以通過添加類disabled

if(condition) { 
    var element = document.getElementByID('#sample_ID'); 
    element.addClass("disabled"); 
} 

這是假設你包含代碼的<div id="sample_ID">

0

被禁用。如果你只是想隱藏它,你可以做到這一點使用CSS。
例如隱藏<div id="myDiv">Bla</div>你會使用這樣的:

var element = document.getElementById("myDiv"); 
element.style.display = "none"; 

如果你想在某個時候再次顯示:

element.style.display = "block"; 

活生生的例子:

function hideDiv() { 
 
    var element = document.getElementById("myDiv"); 
 
    element.style.display = "none"; 
 
} 
 

 
function showDiv() { 
 
    var element = document.getElementById("myDiv"); 
 
    element.style.display = "block"; 
 
}
#myDiv { 
 
    border: solid 1px green 
 
}
<button onclick="hideDiv()">Hide</button> 
 
<button onclick="showDiv()">Show</button> 
 
<br/> 
 

 
<div id="myDiv">Bla</div>