以下の html では、$(this) を使用して DOM をトラバースしようとしていますが、見つけられない問題があります。
<div class="albumWrapper">
<div class="album" id="test1">
<div class="fadein">
<img src="images/album/1_b.jpg" />
<img src="images/album/2_b.jpg" />
</div>
<div class="descWrapper">
<h1>
<a href="1">Weddings</a>
</h1>
<div class="description">
<span class="quotes">"</span>description 1<span class="quotes">"</span>
</div>
</div>
</div>
<div class="gallery"></div>
<div class="album" id="test1">
<div class="fadein">
<img src="images/album/1_b.jpg" />
<img src="images/album/2_b.jpg" />
</div>
<div class="descWrapper">
<h1>
<a href="2">Weddings</a>
</h1>
<div class="description">
<span class="quotes">"</span>description 2<span class="quotes">"</span>
</div>
</div>
</div>
<div class="gallery"></div>
</div>
これは私が書いたjqueryです。しかし、$(this) を使用している場合、問題があるようです。だから誰かが間違いを見つけるのを手伝ってください。それは役に立ちます。
$(".descWrapper h1 a ").on("click", function(e) {
e.preventDefault();
$.ajax({
url: 'ajaxify/gallery.php',
type: "get",
data: "id=" + $(this).attr('href'),
beforeSend: function() {
},
success: function(data) {
$(this).parents(".album").next(".gallery").html(data);
},
error: function(xhr, status, errorThrown) {
alert();
}
});
});