0

Outer、Inner、および Filter は DIV であり、Outer には Inner が含まれ、filter は独立しています。

閉じる機能を実行するボタンは、内側の div 内にあります。ボタンをクリックしても機能は実行されませんが、アドレスバーから実行すると実行されます

つまり、javascript:close(); アドレスバーで実行すると正常に動作します。これを機能させる方法、エラーは何ですか?? これに何時間も費やした

<script type=text/javascript>
function close() {
  var x = document.getElementById("outer") ;
  var y = document.getElementById("inner") ;
  var z = document.getElementById("filter");    
  x.style.height = "0px" ;
  y.style.height = "0px";
  z.style.height = "0px";
  x.style.overflow = "hidden";
}
</script>

<div id="filter"></div>

<div id="outer"> 
  <div id="inner">
    <button onclick="close()">Close</button>
  </div>
</div>
4

2 に答える 2

4

close()あなたとあなたの名前function close()を のような名前に変更しますcloseme()Close は予約語です。コメントを参照してください。xiaoyi

このフィドルを参照してください

于 2012-12-07T12:11:52.787 に答える
2

それは今動作します: http://jsfiddle.net/ckrxV/

問題は、javascript で既に定義されている「close」という名前にありました

function close1() {
var x = document.getElementById('outer');
var y = document.getElementById('inner');
var z = document.getElementById('filter');
alert('worked');
x.style.height = "0px";
y.style.height = "0px";
z.style.height = "0px";
x.style.overflow = "hidden";
}​
于 2012-12-07T12:11:35.267 に答える