Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 显示/隐藏HTML元素:最好设置Bootstrap4的[hidden]属性或调用jQuery的.hide()函数?_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript 显示/隐藏HTML元素:最好设置Bootstrap4的[hidden]属性或调用jQuery的.hide()函数?

Javascript 显示/隐藏HTML元素:最好设置Bootstrap4的[hidden]属性或调用jQuery的.hide()函数?,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我目前正在使用Bootstrap4和jQuery3.1.1 我想在select val更改时隐藏元素。最好的解决方案是什么?添加引导程序的[hidden]元素,请参见或调用jQuery的.hide函数,请参见 有什么建议吗?首先,检查元素是否存在是多余的,因为jQuery允许在不包含元素的选择器上调用方法。您的代码中似乎还缺少一些引号,但我认为这只是问题中的一个输入错误 其次,元素的值作为字符串提供,因此需要将其解析为整数,否则在强制类型时可能会得到一些奇怪的结果 从那里,您可以简单地调用隐藏和

我目前正在使用Bootstrap4和jQuery3.1.1

我想在select val更改时隐藏元素。最好的解决方案是什么?添加引导程序的[hidden]元素,请参见或调用jQuery的.hide函数,请参见


有什么建议吗?

首先,检查元素是否存在是多余的,因为jQuery允许在不包含元素的选择器上调用方法。您的代码中似乎还缺少一些引号,但我认为这只是问题中的一个输入错误

其次,元素的值作为字符串提供,因此需要将其解析为整数,否则在强制类型时可能会得到一些奇怪的结果

从那里,您可以简单地调用隐藏和显示:

您还可以通过使用toggle only使此逻辑更加简洁,并使用状态标志设置元素的可见性:

var $select = $('select[name="whatever"]').change(function() {
    $('input[name="foobar"]').toggle(parseInt(this.value, 10) <= 0)
}

首先,检查元素是否存在是多余的,因为jQuery允许在不包含元素的选择器上调用方法。您的代码中似乎还缺少一些引号,但我认为这只是问题中的一个输入错误

其次,元素的值作为字符串提供,因此需要将其解析为整数,否则在强制类型时可能会得到一些奇怪的结果

从那里,您可以简单地调用隐藏和显示:

您还可以通过使用toggle only使此逻辑更加简洁,并使用状态标志设置元素的可见性:

var $select = $('select[name="whatever"]').change(function() {
    $('input[name="foobar"]').toggle(parseInt(this.value, 10) <= 0)
}

您可以使用.toggle,即$input[name=foobar].togglethis.value>0;使用jQuery.hideselect.changefunction{$input[name=foobar].toggle!this.value.length;};您可以使用.toggle,即$input[name=foobar].togglethis.value>0;使用jQuery.hideselect.changefunction{$input[name=foobar].toggle!this.value.length;};谢谢你详细的回答。你缺少一些引语是什么意思?我错过了$input[name=foobar]的结束部分;但是对于$select[name=which];这很有效。它似乎不是强制性的:而且我对比较没有问题,因为select的所有可能值在Java中都很长。e、 g.当select.val计算为2017时,select.val>0计算为true。我的意思是您缺少选择器上的结束引号。我还将实际属性值用引号括起来,因为它可以保存值可能包含特殊字符空格的任何问题。我仍然建议您显式地转换类型,不管字符串值如何。谢谢您的详细回答。你缺少一些引语是什么意思?我错过了$input[name=foobar]的结束部分;但是对于$select[name=which];这很有效。它似乎不是强制性的:而且我对比较没有问题,因为select的所有可能值在Java中都很长。e、 g.当select.val计算为2017时,select.val>0计算为true。我的意思是您缺少选择器上的结束引号。我还将实际属性值用引号括起来,因为它可以保存值可能包含特殊字符空格的任何问题。我仍然建议您显式地转换类型,而不考虑字符串值。
var $select = $('select[name="whatever"]').change(function() {
    $('input[name="foobar"]').toggle(parseInt(this.value, 10) <= 0)
}