从嵌套列表jquery中选择特定的子项

时间:2016-12-11 22:58:22

标签: jquery jquery-selectors

我正在努力解决这个问题 - 我想选择LI" sally"的第一个孩子,目前我的解决方案是选择第一个列表 (" car"," boat"," bike"),还要选择下一个列表(" red"," green& #34;,"蓝色")...我怎样才能解决这个问题,只有第一个列表即(" car"," boat",&#34 ;自行车")被选中了?

<h2>Select specific children from a nested list.</h2>
    <p>Select the only the first children of the LI "Sally".</p>
    <div id="content2">
        <div>
            <div>
                <p>Some Text</p>
                <p>Some More Text</p>
                <div>Random Div</div>
                <ul>
                    <li>Bob</li>
                    <li>Sally</li>
                        <ul>
                            <li>Car</li>
                            <li>Boat</li>
                            <li>Bike
                                <ul>
                                    <li>Red</li>
                                    <li>Green</li>
                                    <li>Blue</li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                    <li>Larry</li>
                    <li>Mo</li>
                </ul>
            </div>
        </div>
    </div>

我目前的解决方案是......

$("div#content2 > div > div > ul > ul > li").css("color", "red")

2 个答案:

答案 0 :(得分:0)

我建议您通过更改类和使用css来实现此目的。

还建议你在function DemStocks() { var url = "?t= $("#timechart").val(); url += "&s="+ $("#company").val(); location.href += url; } 上使用id或class等属性来简化所需的选择器

<input type= "text" id="company" name="Company" value="Who?">

<select name="timechart" id="timechart">
<ul>
$("#content2 > div > div > ul > li > ul > li").addClass('red')

答案 1 :(得分:0)

我会使用两行,而不是一行:

$(document).ready(function(){

$('div#content2 li li').css('color', 'red');
$('div#content2 li li li').css('color', 'black');

});

N.B。您的标记应为:

<li>Sally
    <ul>

<li>Sally</li>
    <ul>