我有类似的东西
<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
之类的东西,但这种方式不起作用。我怎么样?
答案 0 :(得分:11)
使用空格表示该元素是儿童:
$('#div1 .label');
$('#div2 span');
$('#div2 span.label');
#div1.label
会选择id为div1且标签类的元素。
答案 1 :(得分:4)
你可以做到
$("#div1 span.label")
如果您使用#div1.label
,那么您实际上是在选择ID为div1
并且具有类label
的元素。
答案 2 :(得分:4)
你几乎拥有它:
$("#div1 .label");
<强> Descendant Selector 强>
选择作为给定祖先后代的所有元素。
你也可以使它更具体:
$("#div1 > .label");
<强> Child Selector 强>
选择&#34; child&#34;指定的所有直接子元素。由&#34; parent&#34;。
指定的元素
答案 3 :(得分:1)
应该是$('#div1 .label')
和$('#div2 span')
。您需要单独使用空间
答案 4 :(得分:1)
#div1.label或#div2.span
您认为错误,在您正在抓取的选择器中, div1 的ID与div1的类。标签。 (这不是HTML结构的方式,也不是你要找的东西)
你需要这些:
$('#div1 .label');
$('#div2 .label');
中间的空间与CSS语法一样,它会查找子元素,在这种情况下需要一个标签类(您也可以放入 span.label < / strong>更具特异性)
如果你想让它变得更模糊,并且用它们内部的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 #
答案 5 :(得分:0)
这个简单的代码对我有用$('#prettyId > label');