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

时间:2017-03-19 01:00:10

标签: javascript jquery html

我创建了子菜单,我需要获得Submenu" 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()时,结果是手机而不是平板电脑。 我需要获得父母的价值#34;平板电脑&#34; ,当选择奥迪我需要得到汽车 提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

&#13;
&#13;
var li = $('.sub > li')

console.log(
  li.closest('.m-sub').contents().eq(2).text().trim() //=> 'Tablets'
)
&#13;
<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>
&#13;
&#13;
&#13;