如何使用jQuery访问后代?

时间:2016-11-10 21:55:00

标签: jquery

我只有一个ID(主要)。

我试图将.css()设置为" main [0] - > sub [0] - > left [0]"如下所示:

<div id="main">

    <div class="sub">
        <div class="left">
            <div class="subsub">
                main[0]->sub[0]->left[0]
            </div>
            <div class="subsub">
                main[0]->sub[0]->left[1]
            </div>
        </div>
        <div class="right">
            main[0]->sub[1]
        </div>
    </div>

    <div class="sub">
        <div class="left">
            <div class="subsub">
                main[1]->sub[0]->left[0]
            </div>
            <div class="subsub">
                main[1]->sub[0]->left[1]
            </div>
        </div>
        <div class="right">
            main[1]->sub[1]
        </div>
    </div>

</div>

我可以通过这种方式访问​​第一个MAIN孩子:

$($('#main').children()[0]).css('MY CSS...');

这样的第二个MAIN孩子:

$($('#main').children()[1]).css('MY CSS...');

但我怎样才能访问&#34; sub&#34;班级孩子?

3 个答案:

答案 0 :(得分:1)

每个jQuery元素都有$.children()方法。所以你可以做$($($('#main').children()[0]).children[0]).css()

但是,如果将相同的CSS规则集应用于元素,则可以执行$("#main .left .subsub").css()

答案 1 :(得分:1)

使用.find和:first selectors的组合。

$('#main').find(".subsub:first")

答案 2 :(得分:1)

这是一个嘶嘶声的选择器,可以找到两者的第一个孩子:

$('#main .sub .left :first-child').css('color', 'red');

这不是最有效的(或唯一的选择器),因为$('.subsub:first-child').css()也可以。根据您执行此操作的次数,缓存父级并按.children()

使用Sub Main() Dim nProcess = New System.Diagnostics.Process() nProcess.Start($"D:\PdfFile.pdf") End Sub 可能更有效