【发布时间】:2014-02-15 20:11:48
【问题描述】:
我想简化我的选择器:
'#a #b a[href^=mailto], .c .d a[href^=mailto]'
收件人:
':matches(#a #b, .c .d) a[href^=mailto]'
这可能只使用 jQuery 选择器吗?还是我必须这样做:
$('#a #b, .c .d').find('a[href^=mailto]')
这不是那么灵活。
【问题讨论】:
-
.find()有什么问题? -
如果 CSS 规范中没有伪类,为什么你认为它们应该在 jQuery 中?为什么不看一下 jQuery 文档? api.jquery.com/category/selectors
-
.find 不允许使用其他选择器(您可以使用
children直接子代或find的后代)。并且 jQuery 中有一整类选择器不在 css 中:api.jquery.com/category/selectors/jquery-selector-extensions -
@theazureshadow,很抱歉发表了严厉的评论。我的意思是:如果遇到类似的问题,那么深入研究搜索、CSS 规范和 jQuery 文档——1) 选择器存在于 jQuery 但 CSS (Extensions is good); 2) CSS 中存在选择器,但 jQuery (在错误跟踪器中打开票证的充分理由); 3)两个都不存在selector(可惜,求改进)。
-
似乎答案是它不存在。在等待选择器级别 4 时,我可以很冗长。dev.w3.org/csswg/selectors4/#matches
标签: jquery css jquery-selectors css-selectors