用于html innerHTML + =的Jquery模拟

时间:2017-08-07 18:29:40

标签: javascript jquery dom

我需要将值从按钮放到文本位置。我这样做。
text($(button).val());
但它只是在我需要+此值时替换了我需要的文字。类似于5然后再+ 5,所以它将是55

4 个答案:

答案 0 :(得分:2)

而不是:

.text($(button).val());

您可以使用:

.text( function ):其中函数返回要设置的文本内容。接收集合中元素的索引位置和旧文本值作为参数。

一个例子:

$('#btn').on('click', function(e) {
    var val = $(this).val();
    $('#txt').text(function(idx, txt) {
        return txt + val;
    });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<p id="txt"></p>
<button id="btn" value="5">Click Me</button>

答案 1 :(得分:-1)

如果您希望获取按钮的内容然后添加到该按钮,则需要执行以下操作。让我们说按钮如下:

<button id="someButton">5</button>

您想要添加5,以便按钮显示10。

var buttonText = parseInt($("#someButton").text()) + 5; //results in 10
$("#someButton").text(buttonText);

正如您所看到的,我使用parseInt来确保数字被视为整数,因此您可以对其执行添加。

答案 2 :(得分:-1)

&#13;
&#13;
function addText () {
  document.getElementById('paragraph').innerHTML += $('#buttonID').val();
}
&#13;
&#13;
&#13;

试试这个。对于innerHTML,这是+=而不是重新分配。它是一个JavaScript / jQuery混合,我希望它没问题,但也有这个纯jQuery方法使用@Patrick Evans提到的.append()方法。

&#13;
&#13;
$(document).ready(function () {
  $('#paragraph').append($('#buttonID').val());
});
&#13;
&#13;
&#13;

希望这会有所帮助。

答案 3 :(得分:-1)

如果您想要追加价值:

<button class="display-value">5</button>

<button id="plus">+</button>

现在你可以在jQuery中执行此操作:

$('#plus').on('click' , () => {
    let val = $('.display-value').text();
    $('.display-value').text((val + val));
    return false;
});

如果您希望执行数学运算,则必须使用parseInt

$('#plus').on('click' , () => {
     let val = parseInt($('.display-value').text());
     $('.display-value').text((val + val));
     return false;
});