1

我正在开发对评论进行两级重播的评论系统,我对如何显示和隐藏 div 有疑问..,因为它的 id 不同..,我尝试了以下方法:

<button>replayl</button>

<span style="display:none;">
   <form action='' method='post' name="addcmt" onsubmit="return validate()">
        <textarea rows="1" cols="60" name='textarea1' id='textarea1' onKeyDown="limitText(this.form.textarea1,this.form.countdown,300);" 
                                  onKeyUp="limitText(this.form.textarea1,this.form.countdown,300);">
       </textarea>
       <br>
       <br>
       <input type="hidden" name="level1" id="level1" value="commtlevel1" />
       <input id='addcmt' type='submit' value='Add reply' name='submit'/> 
   </form>
</span>

和jQuery:

 <script>
     $("button").click(function () {
        $("span").show();                 
     });
</script>

但是这样,当我单击回复按钮时,它会显示所有跨度标签内容..,我想知道如何仅显示一个标签或完成工作的一种方式。

4

2 回答 2

2

由于您的 HTML 中没有按钮,因此部分原因是猜测。但是以下代码将在您的按钮之后立即切换跨度的可见性:

 $(document.body).on("click", "button", function () {
      $(this).next("span").toggle();
 });

请注意,您最好定义一些类以使选择器更具选择性:

 $(document.body).on("click", "button.toggler", function () {
      $(this).next("span").toggle();
 });
于 2013-02-13T09:10:53.043 回答
1

编辑问题后,我建议您使用 div而不是span(因为显示内联与块)。

$("button").click(function () {
    $(".myform").toggle('slow');
});

会做你想做的工作。这是结果

于 2013-02-13T09:29:52.793 回答