3

リストからテキストを選択しようとしています。「第 2 レベルのテキスト」ではなく「第 1 レベルのテキスト」を選択したい。

<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/

4

2 に答える 2

7

その要素の最初のテキスト ノードだけが必要なようですね。

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

jsFiddle .

これは、最初のノードのテキストを取得します。これは、この場合はテキスト ノードです。

あるいは、もし jQuery が不足していたら...

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

jsFiddle .

于 2013-01-10T05:52:58.947 に答える
0

this is one way to get text of li element

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

JsFiddle Demo

Full Code

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

 var data= $('ul li:first').clone().children().remove().end().text();
   $('.selectedText').text(data);
});
于 2013-01-10T05:54:15.670 に答える