尝试弄清楚如何在不应用的情况下应用通配符概念。
现在我有$('.zm_name[rel!="'+keyed+'"]').parent().hide();
,它会隐藏与我正在寻找的键控值完全匹配的所有内容,这样可以正常工作。但是它仅在键控值准确时才有效。所以我希望它像keyed*
那样,但任何不等于字符串开头的东西都隐藏。
我尝试$('.zm_name[rel^!="'+keyed+'"]').parent().hide();
但只得到语法错误,我浏览了api的jquery选择器部分,似乎无法找到我正在寻找的内容。所以我想知道是否有任何结合这种方法的实际方法?
答案 0 :(得分:3)
试试这个
$('.zm_name:not(.zm_name[rel^="'+keyed+'"])').parent().hide();
// OR
$('.zm_name:not([rel^="'+keyed+'"])').parent().hide();
答案 1 :(得分:1)
我通常远离很长的选择器,因为它们可能令人困惑和多余。尝试使用filter
方法:
$('.zm_name').filter(function(){
return !(new RegExp('^'+ keyed)).test(this.rel);
});