0

我目前有一个 CSS 表的以下 JavaScript,它在点击时隐藏和显示内容:

function toggle2(id, link) {
 var e = document.getElementById(id);
  if (e.style.display == '') {
   e.style.display = 'none';
  } else {
   e.style.display = '';
  }
}

然后我有以下代码在“问题”下显示一个输入框:

<li>
  <a href="#" onclick="toggle2(\'question\', this);">Question
   <div id="question" style="display:none; margin:0px;">
    <input type="text" />
  </div>
  </a>
</li>

问题是,当我单击需要保留在 中的输入框block时,该消失了。我需要那个盒子留下来,我怎样才能在不影响其他东西的情况下做到这一点?

4

2 回答 2

1

因为当你点击输入框的时候,你也“点击”了<a>. 移出:

http://jsfiddle.net/d33zC/

如果您希望输入框与链接保持在同一行,请display:inline-block注意。<div>

编辑

从评论延伸,看来这就是你要找的东西:

http://jsfiddle.net/d33zC/5/

border-bottom从移动ali

于 2012-10-18T03:45:42.313 回答
0

输入框被隐藏,因为它在questiondiv 中。把它移到外面,你就不会有问题了。

于 2012-10-18T03:30:53.940 回答