jQuery选择器:首先

时间:2013-01-10 05:51:02

标签: jquery

我正在尝试从列表中选择文本。我想选择“第一级文本”而不​​是“第二级文本”。

<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文本?感谢。

小提琴:http://jsfiddle.net/eYa3G/

2 个答案:

答案 0 :(得分:7)

听起来你只想要那个元素的第一个文本节点。

$("ul li:first").contents().first().text();

jsFiddle

这将获取第一个节点的文本,这是您案例中的文本节点。

或者,如果jQuery供不应求......

document.querySelector("ul li:first-child").firstChild.data;

jsFiddle

答案 1 :(得分:0)

这是获取li元素文本的一种方法

alert( $('ul li:first').clone().children().remove().end().text());

JsFiddle Demo

完整代码

jQuery(document).ready(function ($) {

 var data= $('ul li:first').clone().children().remove().end().text();
   $('.selectedText').text(data);
});