<h3> 标签内的数字加 1
add 1 to number within <h3> tag
我有多个(不知道有多少,因为它可以改变)<h3>
标签具有相同的 class .love_nummer
<h3 class="love_nummer">1</h3>
这些标签内有一个数字,每个 .love_nummer 都带有另一个带有 class 的标签。give_love
<h3 class="give_love">LOVE</h3>
现在,当您单击 .give_love 时,我只想在与 .give_love 变成高一个数。这是我目前所拥有的,但它不起作用:
$('.give_love').on("click", function(e){
var love_givin = parseInt($(this).parent().find('.love_nummer').val());
love_givin++;
});
刚刚注意到您使用了.val()
获取文本,无法使用。相反,您应该使用 .text()
.
您需要替换为:
$('.give_love').on("click", function(e) {
var love_givin = parseInt($(this).parent().find('.love_nummer').text());
$(this).parent().find('.love_nummer').text(++love_givin);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3 class="love_nummer">1</h3>
<h3 class="give_love">LOVE</h3>
val()
适用于具有 值的元素 属性,h3
不是这样的元素。
请尝试 text()
,不要忘记之后更新它:
$('.give_love').on("click", function(e) {
var element = $(this).parent().find('.love_nummer');
var love_givin = parseInt(element.text());
love_givin++;
element.html(love_givin.toString());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h3 class="love_nummer">1</h3>
<h3 class="give_love">LOVE</h3>
试试这个只会增加之前文本的数量
$('.give_love').on("click", function(e) {
var love_num=$(this).prev('.love_nummer');
var love_givin = parseInt(love_num.text());
love_num.text(++love_givin);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3 class="love_nummer">1</h3>
<h3 class="give_love">LOVE</h3>
好吧,看起来您在计算值后没有执行任何更新操作。另外,在我看来,由于您使用的是 <h>
标签,因此使用 .text()
比使用 .val()
更好。
$('.give_love').click(function(e) {
var love_givin = parseInt($(this).parent().find('.love_nummer').text());
love_givin++;
$(this).parent().find('.love_nummer').text(love_givin);
});
这是一个工作示例:
我有多个(不知道有多少,因为它可以改变)<h3>
标签具有相同的 class .love_nummer
<h3 class="love_nummer">1</h3>
这些标签内有一个数字,每个 .love_nummer 都带有另一个带有 class 的标签。give_love
<h3 class="give_love">LOVE</h3>
现在,当您单击 .give_love 时,我只想在与 .give_love 变成高一个数。这是我目前所拥有的,但它不起作用:
$('.give_love').on("click", function(e){
var love_givin = parseInt($(this).parent().find('.love_nummer').val());
love_givin++;
});
刚刚注意到您使用了.val()
获取文本,无法使用。相反,您应该使用 .text()
.
您需要替换为:
$('.give_love').on("click", function(e) {
var love_givin = parseInt($(this).parent().find('.love_nummer').text());
$(this).parent().find('.love_nummer').text(++love_givin);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3 class="love_nummer">1</h3>
<h3 class="give_love">LOVE</h3>
val()
适用于具有 值的元素 属性,h3
不是这样的元素。
请尝试 text()
,不要忘记之后更新它:
$('.give_love').on("click", function(e) {
var element = $(this).parent().find('.love_nummer');
var love_givin = parseInt(element.text());
love_givin++;
element.html(love_givin.toString());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h3 class="love_nummer">1</h3>
<h3 class="give_love">LOVE</h3>
试试这个只会增加之前文本的数量
$('.give_love').on("click", function(e) {
var love_num=$(this).prev('.love_nummer');
var love_givin = parseInt(love_num.text());
love_num.text(++love_givin);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3 class="love_nummer">1</h3>
<h3 class="give_love">LOVE</h3>
好吧,看起来您在计算值后没有执行任何更新操作。另外,在我看来,由于您使用的是 <h>
标签,因此使用 .text()
比使用 .val()
更好。
$('.give_love').click(function(e) {
var love_givin = parseInt($(this).parent().find('.love_nummer').text());
love_givin++;
$(this).parent().find('.love_nummer').text(love_givin);
});
这是一个工作示例: