javascript - 如何用jquery获取子菜单中li的父级值?

标签 javascript jquery html

我创建子菜单,我需要获取子菜单“li”的直接父菜单的值 这是我的代码

 <div class="box"> 

 <div class="col-sm-6">
 <!-- main menu-->
            <ul>
            <li class="m-sub">   

                   Cars
        <!-- sub menu for cars-->   
        <ul class="sub">
            <li> Audi</li>
            <li> KiA</li>
        </ul>
    </li>
                 <li class="m-sub">   

                    Tablets    
      <!--start sub menu for tablet -->
        <ul class="sub">
            <li>   Phone</li>
            <li>  Sony</li>
        </ul>
    </li>
    <li>  Laptop</li>
    <li>   Glass </li>

    </ul>
             </div>
         </div>

例如,我需要获得索尼的直接父级,当我使用 ($(this).parent()).text() 时,结果是手机而不是平板电脑。 我需要获得父“平板电脑”的值(value),当选择奥迪时我需要获得汽车 提前致谢。

最佳答案

Tablets 不在列表项的直接父项内;你需要更多的 jQuery:

var li = $('.sub > li')

console.log(
  li.closest('.m-sub').contents().eq(2).text().trim() //=> 'Tablets'
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="m-sub">
    <span><i class="icon-tablet"></i></span> Tablets <span class="leftarr"><i class="icon-chevron-right"></i></span>
    <ul class="sub">
      <li> Phone
      </li>
      <li> Sony
      </li>
    </ul>
  </li>
  <li> Laptop
  </li>
  <li> Glass
  </li>

</ul>

关于javascript - 如何用jquery获取子菜单中li的父级值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42881713/

相关文章:

javascript - 当我将鼠标悬停在另一个 div 上时,使用效果更改标题图像

jquery - 单击时添加和删除 CSS

javascript - 如何使用Radio按钮打开本地HTML页面?

c# - 如何在 MVC3 中使用 @Viewbag 在 ASP.NET C# 中将值设置为 @Html.TextBox()

javascript - 获取 JS 中 DOM 元素的计算字体大小

javascript - FB.XFBML.parse() 不刷新 Facebook 评论

javascript - jQuery 查找子级并按顺序赋值

asp.net - 回发时丢失文本框值

javascript - 加速改变 div 元素颜色的 JavaScript 函数构造 'led display'

html - 关于 CSS Sprite 和内存使用的快速问题