body セクションに次の html 要素があります。
<a class="tog" href="#">Click Me</a>
<div class="result">
This is a container div
</div> <br />
<a class="tog" href="#">Click Me</a>
<div class="result">
This is a container div
</div>
head セクションには次の内容が含まれます。
.result{
display: none;
}
私がやりたいことは、各リンクをクリックしている<a>
ときに、次のリンクdiv
がトグルし、同時に別のページdiv
からpost
. したがって、私のjQueryコードは次のとおりです。
$(document).ready(function () {
$(".tog").click(function () {
if (!$(this).next(".result").data('loaded')) {
$.post("anotherpage.php", {
id1: "value1"
}, function (data) {
$(this).next(".result").html(data);
$(this).next(".result").data('loaded', true);
});
}
$(this).next(".result").slideToggle("slow");
return false;
});
});
各リンクの横に<a>
ある各 div は、上記のコードによって適切に切り替えられます。しかし、データは別のページからフェッチされていません。上記のコードの各ポイントから $(this).next を除外すると、次のようになります。
$(document).ready(function () {
$(".tog").click(function () {
if (!$(".result").data('loaded')) {
$.post("anotherpage.php", {
id1: "value1"
}, function (data) {
$(".result").html(data);
$(".result").data('loaded', true);
});
}
$(this).next(".result").slideToggle("slow");
return false;
});
});
各 div は、各リンクをクリックして別のページからデータをフェッチした後にトグルしますが、リンクをクリックすると、同時にpost
すべての s にデータがフェッチされます。div
私の質問は、各リンクをクリックするとdiv
そのリンクの隣に切り替わり、次のリンクdiv
のみにデータをフェッチするように、コードを修正するにはどうすればよいですか?