2017-08-07 41 views
2

我需要从按钮到文本位置放置值。我这样做。
text($(button).val());
,但它只是代替我需要的文字时,我只需要到+这value.Like值5然后再次+ 5所以这将是55用于html innerHTML的jquery模拟HTML + =

+3

看看['.append()'](http://api.jquery.com/append/) –

+0

并ü意味着5 + 5 = 55?或5 + 5 = 10?你是想追加价值还是做一些美化计算? –

+0

如果您不希望它可能呈现为html,您可以使用创建的文本节点与append()一起执行文本追加。 https://stackoverflow.com/questions/44577548/how-do-i-append-both-an-element-and-text-to-a-div-in-jquery/44577694#44577694 – Taplar

回答

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>

+0

好的,谢谢 – ttmcswg

+0

@ttmcswg不客气 – gaetanoM

-1

如果您想要获取按钮的内容然后添加到该按钮,则需要执行以下操作。比方说,按钮如下:

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

你想5添加到它使按键说10

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

正如你所看到的,我用parseInt,以确保数量被视为一个整数,所以你可以在它上执行加法。

+0

我没有失望 - 投票。 – Difster

+0

对不起,这个错误。谢谢 – gaetanoM

-1

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

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

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

希望这有助于。

+0

OP正在寻找jQuery的方式。 – Difster

+0

实际上,OP从未指定他是否想要jQuery或JavaScript –

+0

您的意思是标题以外的其他内容吗? – Difster

-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; 
});