Javascript jQuery单击按钮上的事件不';t将值赋给变量
我正在编写一个计算器,我正在试图得到“.”这是分配给按钮的值。单击按钮时,我希望将按钮的值放入变量中,然后将其显示在Javascript jQuery单击按钮上的事件不';t将值赋给变量,javascript,jquery,html,Javascript,Jquery,Html,我正在编写一个计算器,我正在试图得到“.”这是分配给按钮的值。单击按钮时,我希望将按钮的值放入变量中,然后将其显示在div的内容中 对于数字,我检索结果,但对于“.”不会发生 这里是我的代码笔工作的链接:[javascript计算器][1] $('button').click(function(){ input = $(this).val(); if (!isNaN(eval(input)) || input === "."){ console.log("input
div
的内容中
对于数字,我检索结果,但对于“.”不会发生
这里是我的代码笔工作的链接:[javascript计算器][1]
$('button').click(function(){
input = $(this).val();
if (!isNaN(eval(input)) || input === "."){
console.log("input: "+input);
current += input;
log = current;
result += input;
$("#answer").text(current);
$("#history").text(result);
}
});
值仅与输入元素关联,因此
.val()
不会为您提供按钮的值属性。但是由于按钮值
是一个属性
,因此需要在jquery中使用.attr()
方法。这应该可以
<script type="text/javascript">
$('button').click(function(){
input = $(this).attr("value")
if (input === "." || !isNaN(eval(input))){
console.log("input: "+input);
current += input;
log = current;
result += input;
$("#answer").text(current);
$("#history").text(result);
}
});
</script>
您好
问题:由于按钮
元素不是输入类型
您将无法通过在元素上使用.val()
来获取其值
解决方案:
使用按钮上的.attr
获取值属性中的数据
input = $(this).attr('value');
注意:为了不在学习js的过程中破坏您的旅程,我考虑只修复您所问的问题,而不是纠正可能出错的一切;)
考虑一下这个问题:
这就是我最后写的,让程序“显示”文本框中的数字和浮点
$('button').click(function(){
input = $(this).text();
if (input || input === "."){
console.log("input: "+input);
current += input;
log = current;
result += input;
$("#answer").text(current);
$("#history").text(result);
}
});
有关解决方案的说明:
1-为了简单起见,我只为1和2添加了按钮
2-要正确阅读按钮文本,只需使用jquery方法text()
3-我跳过了对原始代码中的每个输入调用eval
,因为如果您尝试计算浮点值,它将不起作用
,这将留给您考虑另一个修复方法;)
希望这有帮助。按钮通常没有值缺少代码笔link@Pierre-LoupPagniez您应该阅读:.attr(“value”)它可以有一个带有单词“value”的属性,但这并不意味着可以使用.val()调用按钮值,去阅读你发布的链接的答案我在哪里说过按钮值可以用.val()
调用?我只是说value
是我用attr(“value”)更改的标签按钮的有效属性,但它仍然不起作用。我看到它没有输入if语句,因为我在if中放了一个console.log(input),它没有返回任何内容。
input = $(this).text();