JQuery-通过id然后通过类选择器获取元素
我有类似的东西JQuery-通过id然后通过类选择器获取元素,jquery,jquery-selectors,Jquery,Jquery Selectors,我有类似的东西 <div id="div1"> <span class="label">some text</span> </div> <div id="div2"> <span class="label">some text</span> </div> 一些文本 一些文本 我想通过id选择一个给定的跨度,然后通过类。类似于#div1.label或#div2.span但这种方法不起作
<div id="div1">
<span class="label">some text</span>
</div>
<div id="div2">
<span class="label">some text</span>
</div>
一些文本
一些文本
我想通过id选择一个给定的跨度,然后通过类。类似于#div1.label
或#div2.span
但这种方法不起作用。我怎么办?你怎么办
$("#div1 span.label")
如果您使用#div1.label
您实际上选择了一个id为div1
的元素,并且拥有类label,您几乎拥有了它:
$("#div1 .label");
选择作为给定祖先后代的所有元素
您还可以使其更加具体:
$("#div1 > .label");
选择由“父”指定的元素中由“子”指定的所有直接子元素
使用空格表示元素是子元素:
$('#div1 .label');
$('#div2 span');
$('#div2 span.label');
#div1.label
将选择id为div1和一类label的元素。它应该是$('#div1.label')
和$('#div2 span')
。您需要单独使用空格#div1.label或#div2.span
您的想法是错误的,在您的选择器中,您正在抓取具有div1类的div1ID。label。(这不是HTML的结构方式,也不是您要寻找的内容)
您需要这些:
$('#div1 .label');
$('#div2 .label');
中间的空格与CSS语法中的空格相同,它查找子元素,在本例中,子元素需要一个标签类(您也可以将span.label放入以获得更具体的信息)
如果您希望它更模糊,并捕获所有带有span.label的div,您可以执行以下操作:
$('div span.label'); // this would capture all of them
$('div[id^="div"] span.label'); // assuming they all start with the ID "div" then a #
这个简单的代码为我工作$('prettyId>label')代码>