我有这样的东西
<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 .label');
$('#div2 span');
$('#div2 span.label');
#div1.label
将选择一个 id 为 div1 和一个标签类的元素。
你可以做
$("#div1 span.label")
如果你使用#div1.label
你实际上是在选择一个带有 iddiv1
并且有 class的元素label
。
#div1.label 或 #div2.span
你想错了,在你正在抓取的选择器中,div1 的 ID 和div1的类。标签。(这不是您的 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 #
应该是$('#div1 .label')
和$('#div2 span')
。您需要单独使用空间
这个简单的代码对我有用$('#prettyId > label');