javascript - 如何获取元素的文本但不包括该元素的子元素?

标签 javascript jquery html

我有一个 HTML 片段:

<li class="as-selection-item">
<a class="as-close">×</a>
Rudy Hamilton
</li>

如何从 li.as-selection-item 中获取值 Rudy Hamilton 但不从 中获取值 x >a.as-close?

最佳答案

方案一

document.querySelector('.as-close').nextSibling.nodeValue

JSFiddle 演示:http://jsfiddle.net/t8Qst/

它使用 nextSibling 获取紧跟在具有 as-close 类的元素之后的节点。

解决方案2

如果你想得到 li 里面的所有东西,除了 anchor ,你可以使用这个:

var li = document.querySelector('.as-selection-item').cloneNode(true);
li.removeChild(li.querySelector('.as-close'));
alert(li.textContent);

您克隆 li,从克隆中删除 anchor ,然后只显示其文本。

JSFiddle 演示:http://jsfiddle.net/58pLz/

使用 jQuery(如果您已经在使用它),这会给出:

var li = $('.as-selection-item').clone();
$('.as-close', li).remove();
alert(li.text());

关于javascript - 如何获取元素的文本但不包括该元素的子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16981134/

相关文章:

javascript - 随机调用对象属性

JavaScript $.get ("curl.php",{ 数组值

javascript - 菜单列表溢出 HTML(也在 iframe 中)

html - 尝试居中对齐列表项

javascript - 检查页面刷新是否触发了window.onbeforeunload?

javascript - 简化两个输入变量的 isNaN 函数 - JavaScript

javascript - AngularJS 在函数中访问 $scope

jquery - Bootstrap 3.x : display:none for accordion

javascript - Jquery Hashtag 链接系统(显示用户所在的页面)

html - 水平放置无序列表