检查自定义属性是否具有特定值

时间:2012-03-15 11:25:20

标签: jquery-selectors

我的问题起初似乎很容易,但我卡住了。

我的页面中有一些容器(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 - 。“)

有人可以建议我如何正确实现这种过滤吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

你很接近,但正如你可以看到语法突出显示,你没有执行字符串连接。 +startName+将从字面上理解。修正报价和罚款:

.not('[myattrib1!="' + startName + '"]')

请注意,您应该使用data-*属性而不是自定义属性。