我可以在 jQuery 过滤器方法上使用多选择器表达式吗?
Can I use a multiple selector expression on the jQuery filter method?
我有一堆想要选择的锚标签。但是,如果这些链接的 href 属性等于"#"或"(空字符串),那么我想将它们从选择中排除。
目前,我有以下内容,如果 href 不等于"#",它会过滤掉选择:
演示:http://jsfiddle.net/dzrRS/2/
jQuery("a[href]").filter("[href!='#']").each(function() {
jQuery(this).addClass("selected");
});
然后,我尝试将其更改为以下内容,以便在 href 也不等于 " 时也过滤掉选择。但是,这不起作用。
jQuery("a[href]").filter("[href!='#'], [href!='']").each(function() {
jQuery(this).addClass("selected");
});
为了实现我的选择,我不得不使用过滤方法两次,例如:
jQuery("a[href]").filter("[href!='#']").filter("[href!='']").each(function() {
jQuery(this).addClass("selected");
});
我真的需要这样做还是可以在一个过滤方法中使用多个选择器?
jQuery("a[href]").filter("[href!='#'][href!='']").each(function() {
jQuery(this).addClass("selected");
});
有关详细信息,请参阅 http://api.jquery.com/multiple-attribute-selector/。
如果你想稍微更详细一些,并且可能更容易理解,你可以使用:
jQuery('a[href]').filter(
function(){
var href = jQuery(this).attr('href');
return (href.indexOf('#') > -1 && href.length);
}).addClass('selected');
JS小提琴演示。
引用:
-
filter()
.
相关文章:
- jQuery选择器错误:无法识别的表达式
- jQuery中的查询选择器导致无法识别的表达式
- 属性选择器不起作用(语法错误、无法识别的表达式)
- Jquery语法错误,id选择器上的表达式无法识别
- 未捕获错误:语法错误,无法识别表达式Jquery选择器单引号与双引号
- 我可以在 jQuery 过滤器方法上使用多选择器表达式吗?
- JavaScript 正则表达式 lookback 和 jQuery 选择器
- Jquery 选择器中的正则表达式
- jQuery选择器使用正则表达式(或其他东西)
- 用于使用 javascript 匹配 id 选择器的正则表达式
- 流星:正则表达式不适用于 aldeed:表格的选择器
- 正则表达式 x(?!n) 在 x 选择器中使用可选字符
- Jquery转义选择器无法识别的表达式:[data route=search/child]
- javascript正则表达式多行选择器bbcode
- jQuery多个选择器-无法识别的表达式
- 使用JavaScript变量作为jQuery选择器的问题——无法识别的表达式
- 如何编写一个jQuery选择器,在单个表达式中使用多个:eq's
- Jquery 选择器不工作:错误:语法错误,无法识别的表达式:a[@href]
- 无法识别的表达式jquery属性选择器
- 为什么这个jQuery选择器表达式中的空格是相关的