今天面试问到这个问题,一时紧张忘记怎么回答了。做个标记,勿忘。
<pre name="code" class="html"><div name="div1">
<div>a</div>
<div>b</div>
<div>c</div>
<div>d</div>
</div>
<div name="div2">
<div>e
<div>f</div>
</div>
<div>g</div>
<div>h</div>
<div>i</div>
</div>
当时想到的第一种方法使用$(父元素).children().next()的方法。
<script>
$(function(){
alert($("div[name='div2']").children().next().next().text());
})
</script>
这时候输出的值为hi,获取到第二个元素后的字符串拼接值。
应该使用
$("div[name='div2']").children('div:eq(1)');
或者
<pre name="code" class="javascript">$("div[name='div2'] > div:eq(1)")