この問題のJavascriptソリューションを探しています。私は次のHTMLを持っています:
<div id = "container">
  <div id = "data">
    <div>
      <h3> Address</h3>
      <b>Expand...</b>
      <div id="content">ul. Pomorska</div>
    </div>
    <div>
      <h3> Telefon </h3> <b>Expand...</b>
      <div id="content">26565352</div>
    </div>
    <div>
      <h3>Email</h3>
      <b>Expand...</b>
      <div id="content">asdasdag@aga.com</div>
    </div>
  </div>
</div>
onclick Expandが行われたときに、コンテンツdivを非表示にします。これまで、コンテンツdivを非表示にして、ノードにイベントハンドラーを割り当てようとする関数を作成しました。
function hideinfo() {
  var node = document.getElementById("data");
  var contactdata = node.getElementsByTagName("div");
  for(var i=0; i<contactdata.length;i++) {
    if(contactdata[i].id == "content") {
      alert(contactdata[i].previousSibling.innerHTML);
      contactdata[i].previousSibling.addEventListener('click',ShowHide,false);
      contactdata[i].style.display="none";
    }
  }
}
問題は、アラートが未定義で表示されることです。なぜノードが見えないのですか?Javascriptでこれを行うためのより良い方法はありますか?