как показать / скрыть divs, когда divs создаются динамически

Я разрабатываю системы комментариев с двумя уровнями воспроизведения в комментариях, и у меня есть проблема с тем, как показать и скрыть divs .., потому что это 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 …, я хочу, как я показываю только один тег или способ выполнить мою работу.

После отредактированного вопроса я предлагаю использовать div вместо span (из-за отображения inline vs block).

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

будет делать то, что вы хотите. Вот результат .

Поскольку в вашем HTML нет кнопки, это отчасти догадка. Но следующий код переключит видимость диапазона сразу после вашей кнопки:

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

Обратите внимание, что вам лучше определить некоторые классы, чтобы сделать селектор более селективным:

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