2017-02-06 14 views
0

複数の要素のIDを表示/非表示したいと思います。javascriptを使用してhtml内の複数の要素を非表示にする

私はHTMLファイルの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::ここで

はjavascriptのだ、私は英語を選択した場合

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

実は、それはcolsxmenuを隠して良い動作しますが、私は必要なのは、私がFRENCH選択した場合、それはすべきです1つ以上の要素を隠す

('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'); 
関連する問題