jQuery - 直系子级

标签 jquery list parent-child

我有这样的结构:

<ul id="mycustomid">
    <li><a>Item A</a>
        <ul class="children">
           <li><a>Child1 of A</a>
               <ul class="children">
                 <li><a>Grandchild of A</a>
                    <ul class="children">
                       <li><a>Grand Grand child of A</a></li>
                    </ul>
                </li>
               </ul>
           </li>
        </ul>
    </li>
    <li><a>Item B</a></li>
    <li><a>Item C</a></li>
</ul>

现在,我使用 Jquery 仅获取 ul#mycustomid 的直接子级。但我的代码返回了我结构中的所有 li。我应该如何进行?

这是我的代码:

$(document).ready(function() {
 var arri = $("#mycustomid>li").text();
 alert(arri);
});

我也尝试过.children(),它给了我几乎相同的结果。这真的让我很烦恼:(

我的警报框输出如下所示(包括那些白色间隙):

Item A 
Child1 of A
Grandchild of A

Grand Grandchild of A


ItemBItemC

然而,它应该只是(没有空格):

Item A 
Item B
Item C

要了解我的问题,您可以查看实时版本 https://jsfiddle.net/yS6ZJ/

请为我指明正确的方向。

最佳答案

我认为您的选择器工作得很好 - 问题在于您使用它所做的事情。

当您调用.text()时,您将获得该元素的所有内容。所有这些,包括子元素。

试试这个:

$('#mycustomid > li').each(function() {
  alert($(this).find('a:eq(0)').text());
});

关于jQuery - 直系子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166049/

相关文章:

c - 未调用信号函数

vb.net - 如何获取wpf按钮的父级

javascript - 传递给子组件的 Vue.js Prop 对象未定义

jquery - 如何在 Bootstrap 导航栏中添加事件类

jquery - 当在最后一页上单击提交按钮时,我需要一个中心显示文字 "Thank you for your time",以及包含绿色脸颊标记的图像

python - 按日期排序文件

python - 在嵌套字典/列表中传输值

javascript - 编写 AJAX Post HTTP 请求

javascript - 使用多选更改样式

javascript - 单击按钮时添加/删除要列出的 <li> 项目 - Twitter Bootstrap