Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏使总和超过数字的按钮_Javascript_Jquery_Html_Button_Show Hide - Fatal编程技术网

Javascript 隐藏使总和超过数字的按钮

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

我有10个按钮,如果总和超过10,我想让一些按钮消失。例如,单击按钮5将使按钮6-10消失,单击按钮3将使按钮8-10消失。。。等等

作为一个起点,我想我可以用

$(".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";