使用jquery仅获取直接元素值

时间:2014-11-01 18:53:47

标签: javascript jquery html

让我说我的菜单有以下内容:

$(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(显然)。

提前致谢

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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