Mis*_*ier 3 jquery css-selectors
$.prev("div.a").find('.b').
$.prev("div.a .b").
Run Code Online (Sandbox Code Playgroud)
一个有效,另一个没有.有什么不同?
好吧,选择器工作,它只是没有给你你想要的东西:
根据jQuery Docs .prev([expr]):
获取一组元素,其中包含每个匹配元素集的唯一先前兄弟节点.使用可选表达式过滤匹配的集合.只返回前一个兄弟姐妹,而不是所有以前的兄弟姐妹.
这意味着:$(elem).prev("div.a").find('.b')正在寻找在DOM树的任何一个同级这是一个div.a和返回第一-然后使用该元素中搜索.find()了.b
鉴于:$(elem).prev("div.a .b")正在寻找任何先前的兄弟姐妹,div.a .b并且返回第一个兄弟姐妹.
它们不等同,因此返回不同的结果.