Javascript 带过滤器的jQuery动态选择器
我有动态生成的html div IDJavascript 带过滤器的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) {
<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();