2017-02-06 31 views
0

我想顯示/隱藏元素的多個ID。在html中使用javascript隱藏多個元素

我的HTML文件中的javascript存在問題。

這裏的JavaScript:

<Script type="text/javascript" language="JavaScript"><!-- 
function HideContent(d){ 
document.getElementById(d).style.display = "none"; 
} 
function ShowContent(d){ 
document.getElementById(d).style.display = "block"; 
} 
//--></script> 

而我的HTML:

<div class = "left" id="colsxmenu"> 
<ul> 
     <li><a href="javascript:HideContent('colsxmenu')"> ENGLISH</a> 
     <li><a href="javascript:HideContent('uniquename')">FRENCH</a> 

其實,如果我選擇英文它的工作好隱藏colsxmenu,但我需要的是,如果我選擇法語它應該隱藏不止一個元素。

我試着添加('colsxmenu';'colsxmenu2'),但那沒有奏效。

+0

第一多個參數用逗號分隔。其次,你的函數只能處理一個元素。 – epascarello

+0

我認爲[這裏](http://stackoverflow.com/questions/3607291/javascript-and-getelementbyid-for-multiple-elements-with-the-same-id)你會找到答案 –

+0

你不能使用相同的ID用於多個元素。這是ID – DDRamone

回答

0

您可以通過元素的數組給你的函數

<div id="first">first</div> 
 
<div id="second">second</div> 
 
<a href="javascript:HideContent(['first','second'])"> ENGLISH</a> 
 
<script> 
 
    function HideContent(obj) { 
 
    for (var i = 0; i < obj.length; i++) { 
 
     document.getElementById([obj[i]]).style.display = 'none'; 
 
    } 
 
    } 
 
</script>

0

定義您HideContent函數接受可變數量的說法。它應該像下面這樣隱藏多個元素。

<script> 
    function HideContent() { 
    if (arguments.length > 0){ 
     for(var i=0; i < arguments.length; i++{ 
     document.getElementById(arguments[i]).style.display = "none"; 
     } 
    } 
    } 
</script> 

之後,你可以這樣調用它

HideContent('colsxmenu'); 
HideContent('colsxmenu', 'uniqename');