Javascript 隐藏使总和超过数字的按钮
我有10个按钮,如果总和超过10,我想让一些按钮消失。例如,单击按钮5将使按钮6-10消失,单击按钮3将使按钮8-10消失。。。等等 作为一个起点,我想我可以用Javascript 隐藏使总和超过数字的按钮,javascript,jquery,html,button,show-hide,Javascript,Jquery,Html,Button,Show Hide,我有10个按钮,如果总和超过10,我想让一些按钮消失。例如,单击按钮5将使按钮6-10消失,单击按钮3将使按钮8-10消失。。。等等 作为一个起点,我想我可以用 $(".button")[4].hide(); …因为$(“.button”)[4]显示我的第四个按钮的html,而$(“.button”).hide()在单击按钮时会显示所有按钮 但这会产生“隐藏不是函数”错误 index.html <div class="score-inputs"> <form class="b
$(".button")[4].hide();
…因为$(“.button”)[4]显示我的第四个按钮的html,而$(“.button”).hide()在单击按钮时会显示所有按钮
但这会产生“隐藏不是函数”错误
index.html
<div class="score-inputs">
<form class="buttons">
<input class="button" type="button" value="1"></input>
<input class="button" type="button" value="2"></input>
<input class="button" type="button" value="3"></input>
<input class="button" type="button" value="4"></input>
<input class="button" type="button" value="5"></input>
<input class="button" type="button" value="6"></input>
<input class="button" type="button" value="7"></input>
<input class="button" type="button" value="8"></input>
<input class="button" type="button" value="9"></input>
<input class="button" type="button" value="10"></input>
</form>
$(文档).ready(()=>{
$(“.button”)。单击(函数(){
$(“.button”)[4]。隐藏();
});
});
或者有更好的方法来获得我想要的结果吗?使用数组语法可以得到dom元素而不是jquery元素 使用其中一个
$(".button").eq(4).hide();
或
使用数组语法可以得到dom元素,而不是jquery元素 使用其中一个
$(".button").eq(4).hide();
或
在jQuery对象上使用括号表示法返回对象中该索引处的DOM元素。虽然这可能对你有用,但它会让逻辑变得非常冗长 实现这一点的最简单方法是保持单击值的运行总数,然后禁用所有将使总数超过允许的最大值的按钮,如下所示:
$(文档).ready(()=>{
var max=10;
$(“.button”)。单击(函数(){
变量总数=$('.score inputs')。数据('total')| | 0;
总计+=parseInt(该值为10);
$('.button').prop('disabled',true).filter(函数(){
return parseInt(this.value,10)+total在jQuery对象上使用括号表示法返回该索引处对象内的DOM元素。虽然这可能对您有用,但它会使逻辑变得非常冗长
实现这一点的最简单方法是保持单击值的运行总数,然后禁用所有将使总数超过允许的最大值的按钮,如下所示:
$(文档).ready(()=>{
var max=10;
$(“.button”)。单击(函数(){
变量总数=$('.score inputs')。数据('total')| | 0;
总计+=parseInt(该值为10);
$('.button').prop('disabled',true).filter(函数(){
返回parseInt(this.value,10)+total当您索引到jQuery对象时,您将获得实际的HTML元素。您必须使用$
将其包装以能够使用jQuery函数,或者适当地更改选择器。当您索引到jQuery对象时,您将获得实际的HTML元素。您必须使用$
将其包装以能够使用jQuery函数选择或适当更改选择器。我知道,我不知道它有不同的语法。谢谢!我知道,我不知道它有不同的语法。谢谢!谢谢!这非常有用。没问题。如果有帮助,请不要忘记接受答案谢谢,这非常有用。没问题。如果有帮助,请不要忘记接受答案
$(".button")[4].style.display = "none";