Jquery 如何将“this”与另一个选择器组合?

Jquery 如何将“this”与另一个选择器组合?,jquery,Jquery,我正在尝试编写一个选择器,它只在对象是锚的情况下获取该对象。我希望它什么也得不到,以防它只是一个标签 $a,这个.css'color','00F';不起作用,但如果我只在查询中保留此项,则会产生预期效果。我在示例、博客和文档中可以找到的所有其他选择器都是用于获取children对象find children,将两个选择器与add组合,或者除了我正在寻找的东西之外的其他任何东西。有人能帮忙吗?您可以使用is方法检查$this.is是否为“a”,然后做出相应的反应 if ($(this).is('a

我正在尝试编写一个选择器,它只在对象是锚的情况下获取该对象。我希望它什么也得不到,以防它只是一个标签

$a,这个.css'color','00F';不起作用,但如果我只在查询中保留此项,则会产生预期效果。我在示例、博客和文档中可以找到的所有其他选择器都是用于获取children对象find children,将两个选择器与add组合,或者除了我正在寻找的东西之外的其他任何东西。有人能帮忙吗?

您可以使用is方法检查$this.is是否为“a”,然后做出相应的反应

if ($(this).is('a')) {
    $(this).css('color', '#00F');
}
但在这种情况下,也许更好的解决方案是使用方法$this.filter'a'.css'color','00F'

注意,过滤器过滤当前jQuery对象;因此$'*'.filter'a'将从所有元素中筛选出as。$'另一方面,a'相当于$this.find'a'搜索jQuery对象中与提供的选择器匹配的元素的后代。

您可以使用is方法检查$this.is是否为'a',然后做出相应的反应

if ($(this).is('a')) {
    $(this).css('color', '#00F');
}
但在这种情况下,也许更好的解决方案是使用方法$this.filter'a'.css'color','00F'


注意,过滤器过滤当前jQuery对象;因此$'*'.filter'a'将从所有元素中筛选出as。$'另一方面,a'相当于$this。find'a'搜索jQuery对象中与提供的选择器匹配的元素的后代。

您的选择器将与$this完全相同。find'a';或者换句话说,它试图在右侧引用的元素的上下文中找到与左侧给出的描述匹配的所有元素。您是否可以发布一些HTML标记,清楚地标识您要选择的内容?目前,我想知道为什么您不直接使用$'.link a'作为选择器,这显然意味着我缺少或误解了某些东西。@David Thomas:a.link,的确,这会更有意义。find selector返回:jQuery描述:获取当前匹配元素集中每个元素的后代,并通过选择器进行筛选,jQuery对象或元素。-来自jquery文档我需要相同的对象,而不是后代。它不起作用。您的选择器可能与$this完全相同。查找'a';或者换句话说,它试图在右侧引用的元素的上下文中找到与左侧给出的描述匹配的所有元素。您是否可以发布一些HTML标记,清楚地标识您要选择的内容?目前,我想知道为什么您不直接使用$'.link a'作为选择器,这显然意味着我缺少或误解了某些东西。@David Thomas:a.link,的确,这会更有意义。find selector返回:jQuery描述:获取当前匹配元素集中每个元素的后代,并通过选择器进行筛选,jQuery对象或元素。-来自jquery文档我需要相同的对象,而不是后代。它不适用于可能的副本