jQuery / Javascriptの知識がほとんどないため、これに2日間苦労しました。何度も徹底的に検索したと思いますが、必要な答えが得られませんでした。
私はWordpressループで作業しています。各ループ項目には、クラスを含むスパンと、jQueryを介してそのスパンの値/コンテンツへの更新をトリガーするリンクがあります。
私が持っているのは、トリガーリンクをクリックすると、最初のループアイテムで、すべてのアイテムループのスパンの値/コンテンツのすべてが更新されるとしましょう。私が達成しようとしているのは、最初のループ項目のトリガーリンクをクリックすると、そのループ項目のみのスパンの値/コンテンツを更新するという単純なものです。
HTMLは次のとおりです。
<div class="loop-item>
<span class="count">123</span>
<span><a class="update"></a></span>
<p>some text</p>
</div>
<div class="loop-item>
<span class="count">123</span>
<span><a class="update"></a></span>
<p>some text</p>
</div>
<div class="loop-item>
<span class="count">123</span>
<span><a class="update"></a></span>
<p>some text</p>
</div>
<div class="loop-item>
<span class="count">123</span>
<span><a class="update"></a></span>
<p>some text</p>
</div>
jQuery は次のとおりです。
$(document).ready(function(){
$(".update").click(function(){
var countVal = $(".count").text();
var nuVal = countVal + 1;
$(".count").text(nuVal);
});
});
完全に間違った jQuery コードであることはわかっています。私は喜んで学び、ここの誰かがそれを正しくするのを喜んで手伝ってくれることを願っています.
ありがとう。
アップデート:
動作する jQuery コードは次のとおりです (nuVal 変数を変更)。
$(document).ready(function(){
$(".update").click(function(){
var countSpan = $(this).closest(".loop-item").find(".count");
var countVal = countSpan.text();
var nuVal = parseInt(countVal) + 1;
countSpan.text(nuVal);
});
});
ありがとうございました!