Javascript 带过滤器的jQuery动态选择器

Javascript 带过滤器的jQuery动态选择器,javascript,jquery,Javascript,Jquery,我有动态生成的html div ID <div id="1-test" class="new"> <div id="2-test" class="new"> <div id="3-test" class="new"> <div id="4-test" class="new"> 但是,它不会进入循环内部。有人能告诉我这个错误吗?提前谢谢 如果我这样做,我会看到循环在运行 $('.new').each(function (index) {

我有动态生成的html div ID

<div id="1-test" class="new">    
<div id="2-test" class="new">
<div id="3-test" class="new">
<div id="4-test" class="new">
但是,它不会进入循环内部。有人能告诉我这个错误吗?提前谢谢

如果我这样做,我会看到循环在运行

$('.new').each(function (index) {
        alert($(this).attr('id'));
    });
当我根据id动态筛选并尝试进入时,循环不起作用

请检查我的,看看这是否提供了您想要的功能。我相信应该根据你所描述的

而不是:

var filterid='test';
  $('.new[id$=filterid]').each(function (index) {
    $(this).toggle();
});
我以以下形式添加了一个“点击”事件:

$(".new").click(function(){
    var filter = $("#filter").val();
    if ($(this).attr("id") != filter) return;
    $(this).toggle();
});
这将检查筛选器的id是否与单击的id相同,并且只允许对其进行切换

如果您需要对过滤进行优化,请告诉我。
祝你好运

只是为了标记解决方案

$('.new[id$=' + filterid + ']').toggle();

感谢Vohuman和j08691,搜索“字符串连接”
$('.new[id$='+filterid+']')
一旦解决了Vohuman提到的连接问题,就可以在不需要时删除每个<代码>$('.new[id$='+filterid+']')。toggle()。您甚至不需要
.new
.j08691和Vohuman,谢谢您的快速回复。你完全正确!!我之前尝试过字符串连接,但没有成功。但是,我现在又试了一次,效果很好:)虽然很奇怪!!然而,我得到了一个不同的问题,div最初隐藏,几秒钟后自动显示。不知道问题是什么!!显示的代码中没有任何内容会导致隐藏元素突然出现
$('.new[id$=' + filterid + ']').toggle();