jquery:我如何在树中设置第一个“孩子”?

时间:2014-03-10 10:23:42

标签: javascript jquery html

在这棵树中,我试图让“孩子在页面加载时可见,但它不能正常工作,请帮我解决这个问题......

$('.tree li:First').show(); 

这使父母可见,而我想要看到它的直接孩子 jsfiddle link

2 个答案:

答案 0 :(得分:2)

$('.tree li:first-child').show();

更新代码

$(function () {
$('.tree li').hide();    
$('.tree li:first-child').show();
$('.tree li').on('click', function (e) {
    var children = $(this).find('> ul > li');
    if (children.is(":visible")) children.hide('fast');
    else children.show('fast');
    e.stopPropagation();
});
});

Demo

修改

$(function () {
$('.tree li').hide();    

$('.tree li:first-child').show();
 $('.tree ul:eq(1)').find("ul").hide();

$('.tree li').on('click', function (e) {
    var children = $(this).find('> ul > li');
    if (children.is(":visible")) children.hide('fast');
    else children.show('fast');
    e.stopPropagation();
 });
});

Updated fiddle

答案 1 :(得分:1)

为直接孩子申请class 喜欢,

<li class="child"><a href="#">Child</a></li>

Javascript代码:

$(function () {
    $('.tree li').hide();    
    $('.tree li:First').show();
    $('.child').show();
    $('.tree li').on('click', function (e) {
        var children = $(this).find('> ul > li');
        if (children.is(":visible")) children.hide('fast');
        else children.show('fast');
        e.stopPropagation();
    });
});

请参阅:demo