WordPressに投稿のループがあり、clickイベントでjqueryを呼び出そうとしています。クリックするとその投稿の連絡フォームが表示されます。ポストループ内でJQuery onclick関数のエラーが発生しました
onclickショーは、そのポストの連絡先フォームを問題なく表示するループ内の最初のポストでのみ機能しますが、ループ内の他のポストでは機能しません。なぜこれがあるのか誰にでも分かりますか?ポストループのあるページはhttps://www.salusa.co.uk/specialist-training-courses/です。
コードはおおよそである:
<div class="archive-posts-loop">
<div class="post">
<div class="enquire">
<a class="show-form">Contact Provider</a>
</div>
<div class="contact-form-wrapper" id="contact-form-wrapper" style="display:none;">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(document).ready(
function(){
$(".show-form").click(function() {
$("#contact-form-wrapper").show("fast");
});
$("#close").click(function() {
$("#contact-form-wrapper").hide("fast");
});
});
</script>
</div><!--post-->
<div class="post">
<div class="enquire">
<a class="show-form">Contact Provider</a>
</div>
<div class="contact-form-wrapper" id="contact-form-wrapper" style="display:none;">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(document).ready(
function(){
$(".show-form").click(function() {
$("#contact-form-wrapper").show("fast");
});
$("#close").click(function() {
$("#contact-form-wrapper").hide("fast");
});
});
</script>
</div><!--post-->
</div><!--archive-post-loop-->
を変更。代わりにHTMLクラスを使用してください –
ありがとうございました。有益です - 私はクラスセレクタに変更しました。そして今度は他の各ボタンが連絡フォームを開きます。問題は、ボタンが配置されているポストではなく、ループ内の最初のポストの連絡フォームをすべて開いていることです。何か案は? –
投稿した例には1つの投稿しかないので、何が起きているのか分かりにくいです。 2つの投稿でコードを表示できますか?ちょうど文脈の中で "最初の投稿"が何を意味するかを知るために –