我的问题起初似乎很容易,但我卡住了。
我的页面中有一些容器(div),带有一些自定义属性。
<div class="myclass" myattr1="blah" myattr2="text1-text2-text3-text4-"></div>
myattr1和myattr2由我定义。
所有div在页面加载时都可见。
现在,根据用户从列表中的选择,我想只显示带有myattrib1 =“blah”的div并隐藏其余部分。
我尝试了以下代码,但没有成功
$('#mySelectID').change(function()
{
var startName = $(this).val();
$(".myclass").not('[myattrib1!="+startName+"]').toggle();
});
同样的方法将用于通过attrib2过滤结果,但在那里我将使用myattrib2 | =“+ startName +”(我认为这是正确的 - 这就是为什么我有额外的 - 在myattr2 =“text1-结束时文本2-文字3-文本4 - 。“)
有人可以建议我如何正确实现这种过滤吗? 谢谢!
答案 0 :(得分:1)
你很接近,但正如你可以看到语法突出显示,你没有执行字符串连接。 +startName+
将从字面上理解。修正报价和罚款:
.not('[myattrib1!="' + startName + '"]')
请注意,您应该使用data-*
属性而不是自定义属性。