我有一个锚点,当你点击它时,它会在 div 中向下滑动一个表单,然后再次点击它会将它向上滑动。最初我只是使用 .toggle,但现在我有多个锚点和多个具有相同类的 div,所以我必须重新编写代码,否则无论何时单击任何锚点,所有 div 都会向下滑动,你会看到 4 个表单。
所以,我想我可以用 .closest 重写代码,但它似乎不起作用。我认为这是因为 .closest 必须在 DOM 层次结构中上升,所以它对我的 div 的布局方式不起作用。我试过 .sibling 但这也不起作用。有任何想法吗?
<a href="#" class="payment-form-show">Pre-Pay with Credit Card</a>
<div style="display: none;" class="payment-form-wrapper">
<h3><?php _e('Submit a Payment', 'jc_stripe'); ?></h3>
<form action="" method="POST" id="stripe-payment-form" class="payment-form">
...
</form>
</div>
<script>
$("a.payment-form-show").click(function() {
var e = $(this).closest("div.payment-form-wrapper");
if (e.is(":hidden")) {
e.slideDown("slow");
$(this).html("Don't Pre-Pay with Credit Card")
} else {
e.slideUp("slow");
$(this).html("Pre-Pay with Credit Card")
}
return false;
});
</script>