0

私は持っています:

<li id="1">
     This is what I want to get
     <li id="2">
         not needed to be selected
         <li id = "3">
             not needed...
         </li>
     </li>
</li>

私はjQueryでid=1のテキストでliを取得したいのですが、これは私が持っているものです:

var id = "1"
var needed = $('li[id='+cat_id+']').text();

しかし、これはすべてのテキストを取得しThis is what I want to getます。

アップデート

あなたは正しいです、それは間違っていたので、今は次のとおりです。

<li id="1">
    This is needed
    <ul>
        <li id = "2">Not needed</li>
        <li id = "3"> Not needed too </li>
    </ul>
</li>

This is needed上記の例では、 id = "1"を考慮してどのように選択できますか?

4

5 に答える 5

4

試す:

var id = "1"
var needed = $('li[id=' + id + ']').clone().children().remove().end().text();

デモ:http://jsfiddle.net/h397T/

編集1

他の人があなたのhtmlが間違っていると指摘したように、それは次のようになります:

<ul>
    <li id="1">This is what I want to get
        <ul>
            <li id="2">not needed to be selected
                <ul>
                    <li id="3">not needed...</li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

しかし、それでも私のソリューションは機能します、デモ:http: //jsfiddle.net/h397T/1/

編集2

更新されたHTMLでも引き続き機能します。デモを参照してください:http://jsfiddle.net/h397T/2/

于 2013-02-26T09:36:58.350 に答える
3

あなたのhtmlは正しくありません。する必要があります

<li id="1">
     This is what I want to get
</li>
<li id="2">
     not needed to be selected
</li>
<li id = "3">
     not needed...
</li>
于 2013-02-26T09:36:41.310 に答える
1

あなたがのような構造を持っているなら

<ul>
 <li></li>
 <li></li>
 <li></li>
</ul>

試す

$("ul li").first();
于 2013-02-26T09:37:19.157 に答える
0

これを試して:

HTML

  <ul>
    <li id="1">This is what I want to get
      <ul>
       <li id="2">not needed to be selected</li>
       <li id="3">not needed...</li>
      </ul>
    </li>
  </ul>
<div id="result"></div>

jQuery

var id = "#1"
var needed = $(id).children().detach();
$('#result').text($(id).text());
$(id).append(needed);

ワーキングフィドル

于 2013-02-26T09:51:06.900 に答える
-1

これを試して

$('li:first').text();
于 2013-02-26T09:36:22.497 に答える