我想操纵某个类,像父类一样选择一个ID,这样想要操纵该类而不在每个类中定义ID。在这个例子中,我想操作类 3,但只操作 id 为 b 的div 上的类。
<div id="a">
<div class="1">
<div class="2">
<div class="3">
<div class="4">
</div>
<div id="b">
<div class="1">
<div class="2">
<div class="3"> // This tag is the selected to change
<div class="4">
</div>
<div id="c">
<div class="1">
<div class="2">
<div class="3">
<div class="4">
</div>
do
$("#b .3")
或者,如果您想专门获取父级的直接子项
$("#b > .3")
这样的事情应该可以完成这项工作:
var a = document.getElementById('b');
var b = a.getElementsByClassName('3');
alert (b[0].className)
旁注:
为什么在jQuery上使用javascript是有意义的?
CODE ops / sec
document.getElementById('b'); 12,137,211
$('#b'); 350,557
香草JS更快...
对于您的情况,您可以枚举从最年长的父级到最深的孩子的选择器:
$("#b .3)
或更容易理解的版本:
$("#b).find(".3")
它首先选择具有 id b
的元素,然后从其子元素中选择具有类 3
的元素
如果你在jQuery中有ID,你应该能够使用$('#' + myId + ' .3')
来动态选择所需的元素。在给定的示例中,myId 当然会'b'
.如果它始终是您要访问的相同元素,并且您只需要相应的选择器,那么当然,直接父子关系的静态$('#b .3')
或$('#b > .3')
就足够了。