如何在动态创建div时显示/隐藏div

时间:2013-02-13 09:08:37

标签: php javascript jquery joomla

我正在开发评论系统,对评论有两个级别的重播,我有一个如何显示和隐藏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>

但这样当我点击回复按钮时,它会显示所有的span标签contente ..,我想知道我如何只显示一个标签或者我的工作方式。

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:1)

编辑完问题后,我建议您使用div代替span(因为显示内联与阻止)。

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

会按照你想要的方式完成工作。这是result