jQuery选择器

jer*_*ome 3 jquery css-selectors

试图选择锚标签作为具有特定id的div的后代,说它是#mydiv1,#mydiv2#mydiv3.

myFunction = function() {    
  var theDivs = $("#mydiv1, #mydiv2, #mydiv3");    
  theDivs.hover(function(e){    
      $(this+" a:link").css("color","#99ccff");
  },function(e){
      $(this+" a:link").css("color","#848484");        
  });    
}
Run Code Online (Sandbox Code Playgroud)

选择器$(this+" a:link")似乎没有选择任何东西.

有没有人对这个选择的正确语法有任何想法?

Pau*_*aul 10

尝试 $(this).find("a:link")

编辑:额外信息

当你$(this + "query")混合类型时.jQuery的选择器参数正在寻找查询字符串或对象.当'this'转换为字符串时,它不会是有效的选择器语法.例如,你可以这样做: $("." + this.className + "[query]")


Miq*_*uel 7

您可以为上下文提供元素,以下内容应该有效:

$("a:link", this).
Run Code Online (Sandbox Code Playgroud)

它将搜索从this节点开始的锚点.

  • 是的,这可能更好.:) (2认同)