Я разрабатываю системы комментариев с двумя уровнями воспроизведения в комментариях, и у меня есть проблема с тем, как показать и скрыть 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(); });