JQuery选择器帮助

JQuery选择器帮助,jquery,css,css-selectors,descendant,Jquery,Css,Css Selectors,Descendant,使用JQuery,如何在id为y的元素中选择类为x的所有元素 $('#y.x')应该为您做这件事 请注意,这将选择具有类x的所有子体,而不仅仅是子体。选择id为“y”的元素的具有类x的所有子体 $(“#y.x”)。每个(函数){ $(这个)使用$(“#id.class”) 至于直系子女: $("#x > .y").doSomething(); $("#x").children(".y").doSomething(); 看看我这里的问题,它告诉你更多,它涵盖了性能。 其中,元素1的id为

使用JQuery,如何在id为y的元素中选择类为x的所有元素

$('#y.x')
应该为您做这件事


请注意,这将选择具有类x的所有子体,而不仅仅是子体。

选择id为“y”的元素的具有类x的所有子体

$(“#y.x”)。每个(函数){
$(这个)使用
$(“#id.class”)

至于直系子女:

$("#x > .y").doSomething();

$("#x").children(".y").doSomething();
看看我这里的问题,它告诉你更多,它涵盖了性能。

其中,元素1的id为='y',并且希望所有的[直接]子元素都有class='x'

$("#y > .x").each(function(){stuff]);
如果您想要id='y'(不仅仅是立即)的所有decentant,那么您将执行以下操作:

$("#y").find(".x").each(function(){stuff});
显然,如果您知道元素类型是什么,可以通过添加元素类型使其更智能(更好)。例如,如果您只想要类型的子元素,则:

$("#y > a.x").each(function(){stuff]);

希望这就是你的意思。

你想对这些元素做什么?只需选择它们?id不应该总是唯一的吗?@Catfish不,但我知道如何做其余的事情。我只是对选择感到困惑。@John,你似乎对我的问题感到困惑。我有一个id为y的元素。有许多元素是该元素的子元素t元素。一些孩子有一个类X。我想选择所有有类X的孩子。对不起,我看错了问题。+1为了简洁(讽刺的是,我不能把它作为注释:“注释长度必须至少为15个字符。”)使用
.children()
不会给您所有的子体。只是立即。您考虑的是
.find()
,它将返回所有匹配的子体。+1-完整的答案。我只是想指出,在第二个示例中,您不需要为上下文传递jQuery对象。您只需传递字符串
“\x”
.jQuery在幕后将其转换为第三个版本:o)第一个代码与
$(“#y”).find(“.x”)
相同,第二个代码与
$(“#y”).find(“>.x”)相同
@BrunoLM+1很好的补充,不过我更喜欢我的方法。另外,如果他想执行ex
,请单击
,然后单击
。每个
都会被删除。
$("#y > .x").each(function(){stuff]);
$("#y").find(".x").each(function(){stuff});
$("#y > a.x").each(function(){stuff]);