我正在尝试从列表中选择文本。我想选择“第一级文本”而不是“第二级文本”。
<div class="selectedText"></div>
<ul>
<li>First level text
<ul>
<li>Second level text</li>
</ul>
</li>
</ul>
我糟糕的选择器:
var firstLI = $('ul').find('li:first');
$('.selectedText').text(firstLI.text());
它将嵌套UL的内容粘贴到我的文本框中 我怎样才能得到LI文本?感谢。
答案 0 :(得分:7)
听起来你只想要那个元素的第一个文本节点。
$("ul li:first").contents().first().text();
这将获取第一个节点的文本,这是您案例中的文本节点。
或者,如果jQuery供不应求......
document.querySelector("ul li:first-child").firstChild.data;
答案 1 :(得分:0)
这是获取li元素文本的一种方法
alert( $('ul li:first').clone().children().remove().end().text());
完整代码
jQuery(document).ready(function ($) {
var data= $('ul li:first').clone().children().remove().end().text();
$('.selectedText').text(data);
});