Javascript 根据变量值隐藏内容

Javascript 根据变量值隐藏内容,javascript,jquery,css,hide,show-hide,Javascript,Jquery,Css,Hide,Show Hide,我在做价格估算 如何正确编写jQuery函数来检查变量,并根据该数量相应地隐藏/显示某个div元素 如果我有: ID为“Answer”的HTML div <div id="answer">Hide Me</div> $("#answer")... 现在我知道隐藏div的css是: #answer{ visibilty:hidden; } 隐藏检查这些特定参数的函数的正确方法是什么?例如,如果x>20,则隐藏等 现在我知道有很多方法可以做到这一点,他们可能不需要jQu

我在做价格估算

如何正确编写jQuery函数来检查变量,并根据该数量相应地隐藏/显示某个div元素

如果我有:

ID为“Answer”的HTML div

<div id="answer">Hide Me</div>

$("#answer")...
现在我知道隐藏div的css是:

#answer{
visibilty:hidden;
}
隐藏检查这些特定参数的函数的正确方法是什么?例如,如果x>20,则隐藏等

现在我知道有很多方法可以做到这一点,他们可能不需要jQuery,如果是这种情况,请通知我。也许它只是需要JS。我知道有很多方法可以做到这一点,而不仅仅是一个,所以如果你有不同的方法,请评论,因为我很想了解

任何帮助都将不胜感激

干杯


F

执行此函数,提供变量
v

var checkVar = function(v) {
   var target = $('#answer');
   if (parseInt(v) > 20) {
      target.hide();
   } else {
      target.show();
   }
}
例如,如果变量来自一个选择:

$('#selectId').on('change', function() {
   checkVar($(this).val());
});

删除CSS。您可以在jQuery中完成

if(x>20){
 $('#answer').hide();
}

你可以用这个

   $("#answer").hide();

请注意,您还可以删除或添加类:

$('#answer').removeClass('hide');
$('#answer').addClass('hide');

但您要做的是
$('#答案').hide()
$('#答案')。显示()

@kapantzak的答案看起来不错。但是要将逻辑和样式分开,如果不打算对实际元素使用变量两次,我就不会这样做。那就去吧:

var checkVar = function(var) {
   var element = $('#answer');
   if (parseInt(var) > 20) {
      element.addClass('hidden');
   }else{
      element.removeClass('hidden');
   }
}
在CSS中:

#answer.hidden{
 display: none;
}
另外,根据您的偏好,
display:none
不显示对象的任何内容,而
可见性:hidden
隐藏对象,但对象占用的空间将保持被占用状态。

HTML

<input id="changingValue">
...
<div id="answer">Hide Me</div>
JS

var限值=20;
$(函数(){
$(“#changingValue”).change(函数(){

if(parseInt($(“#changingValue”).val())或use$(“#answer”).css(“可见性”、“隐藏”);也可以由create类使用:.hideDiv{visibility:hidden;}并将该类添加到answer div中,如下所示:$(“#answer”).addClass(“hideDiv”);我个人更喜欢class选项,因为它不暗示内联样式(甚至由JS生成)如果需要更改所需的效果,它将更加通用。欢迎继续。您应该向我们展示一些代码来证明您的努力。这是一些简单的脚本,即使对于初学者也是如此(我们最多只讨论几行代码…)谢谢你的热情欢迎,我会记住这一点。如果这能提高你的进一步贡献,是的,请记住这一点。我邀请你阅读这一页,这样你就可以看到这并不是什么个人的问题。人们拼命追求名誉的许多类似回答不应该鼓励你,尽管我相信这会在未来有所帮助c案例。
<input id="changingValue">
...
<div id="answer">Hide Me</div>
#answer{ display:none;}
var limit = 20;
$(function(){
    $("#changingValue").change(function(){
         if(parseInt($("#changingValue").val())<limit) { $("#answer").show(); }
         else { $("#answer").hide(); }
    });
});