使用jquery只获取直接元素值

Get only direct element value with jquery

本文关键字:元素 获取 jquery 使用      更新时间:2023-09-26

假设我的菜单有以下内容:

$(document).ready(function() {
  alert($('ul li').html());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="menu">
  <li><i class="font-icon"></i> Users
      <ul>
        <li>Overview</li>
      </ul>
    </li>
</ul>

正如你所看到的,我得到的回报:

<i class="font-icon"></i> Users
<ul>
   <li>Overview</li>
</ul>

现在的问题是我只对<i class="font-icon"></i> Users感兴趣。有没有办法只将其作为回报,而不将其放入divspan?我已经尝试过使用.text(),但这只给了我实际的文本Users(显然)。

提前感谢

我认为这可能是解决方案:DEMO

$(document).ready(function() {
    var i=$('ul li').html();
    var ul=$('ul li').find('ul')[0].outerHTML;
    i=i.replace(ul,'');
    alert(i);
});

使用remove()方法。它删除了与选择匹配的子元素:

$(document).ready(function() {
    var elem = $('ul li').html().remove('ul');
    alert(elem);
});