Javascript 如何使用变量jquery在html中隐藏项

Javascript 如何使用变量jquery在html中隐藏项,javascript,jquery,html,Javascript,Jquery,Html,我试图用这个简单的脚本通过ID隐藏一些元素,我在变量中有ID,但它不起作用。。 代码如下: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"> </script> <script> function filter(id_get) { $(".product").each(function(index) { var f = this.id;

我试图用这个简单的脚本通过ID隐藏一些元素,我在变量中有ID,但它不起作用。。 代码如下:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<script>
function filter(id_get) {
  $(".product").each(function(index) {
    var f = this.id;
    if (!f.includes(id_get)) {
      var hash = "#";
      var cmp = hash.concat(f);
      $(cmp).attr("display", "none");
    }
  });
}
</script>

函数过滤器(id\u get){
$(“.product”)。每个(函数(索引){
var f=此.id;
如果(!f.includes(id_get)){
var hash=“#”;
var cmp=hash.concat(f);
$(cmp.attr(“显示”、“无”);
}
});
}
如果执行
console.log(cmp)
操作,它会显示要删除的正确产品id,但不会隐藏div


我还尝试了
$(cmp)。隐藏

您正在尝试直接更改属性<代码>显示
不是属性<代码>样式
是一个属性。您可以更改
样式
属性的
显示
属性。更改
$(cmp).attr(“显示”、“无”)至:

$(cmp).css("display", "none");
$(cmp).hide();
或者,您可以只使用内置的jQuery
hide
函数。更改
$(cmp).attr(“显示”、“无”)至:

$(cmp).css("display", "none");
$(cmp).hide();
在这方面:

function filter(id_get){
    $( ".product" ).each(function( index ) {
        var f = this.id;
        if(!f.includes(id_get)){
          var hash = "#";
          var cmp = hash.concat(f);
          $(cmp).hide();
        }
    });
}

您正试图直接更改属性<代码>显示
不是属性<代码>样式
是一个属性。您可以更改
样式
属性的
显示
属性。更改
$(cmp).attr(“显示”、“无”)至:

$(cmp).css("display", "none");
$(cmp).hide();
或者,您可以只使用内置的jQuery
hide
函数。更改
$(cmp).attr(“显示”、“无”)至:

$(cmp).css("display", "none");
$(cmp).hide();
在这方面:

function filter(id_get){
    $( ".product" ).each(function( index ) {
        var f = this.id;
        if(!f.includes(id_get)){
          var hash = "#";
          var cmp = hash.concat(f);
          $(cmp).hide();
        }
    });
}

不知道这是否是唯一的问题,但将display
attr
设置为none将不起任何作用(元素中没有
display
属性)<代码>显示
是css属性。为了用jQuery隐藏元素,您可以使用
$(cmp).css(“显示”、“无”)
$(cmp).hide()
(带括号)。您可以将其简化为
$(“.product[id$=”+id\u get+“])。hide()
不知道这是否是唯一的问题,但将display
attr
设置为none将不会起任何作用(元素中没有
display
属性)<代码>显示
是css属性。为了用jQuery隐藏元素,您可以使用
$(cmp).css(“显示”、“无”)
$(cmp).hide()
(带括号)。您可以将其简化为
$(“.product[id$=”+id\u get+“])。hide()
您尝试过调试它吗?你确定你的id匹配吗?如果你发布更多的html代码,我们可能会看到其他可能发生的事情。就现在而言,我们在盲目驾驶。我的回答可能只是解决方案的一部分。问题是我有一个名为“a++”的类,为什么我不能?我不知道你的意思。不能什么?这不起作用,这工作你试过调试它吗?你确定你的id匹配吗?如果你发布更多的html代码,我们可能会看到其他可能发生的事情。就现在而言,我们在盲目驾驶。我的回答可能只是解决方案的一部分。问题是我有一个名为“a++”的类,为什么我不能?我不知道你的意思。不能什么?这不管用,这管用