2011-09-13 24 views
0

私は二<li>からテキスト「NYC」を取得するには、このjQueryのを使用していますDrupalの繰り返しjqueryのセレクタ

<span id="terms" style="visibility:hidden"> 
<ul class="links inline"> 
<li class="taxonomy_term_14 first"><a href="/taxonomy/term/14" rel="tag" title="National Site">national</a></li> 
<li class="taxonomy_term_2 last"><a href="/category/region/all/nyc" rel="tag" title="">nyc</a></li> 
</ul></span> 

からこのHTMLを持っています。

var tagText = $("#terms li + li").text(); 

私はtagText、のdocument.write(tagtext)を表示するためにチェック

ではなく、ただの "nynynynynynynynynynynynynynynyny" を示す "NYC。"それはなぜ繰り返されますか?

+2

は、私はあなたが「用語」IDの 'span'を持っていることを指摘かもしれませんが、あなたのjQueryのセレクタのid「タグ」の要素を探しています。これは、発生している問題に関連している可能性があります。 '$( '#tags li + li')'が '$( 'terms li + li')'に変更されていれば、それは動作するように思われる(http://jsfiddle.net/davidThomas/spEFc/)。 –

+0

は、誤字であって問題ではないIDを編集したばかりです。正しい#用語を使用してコードを実行しました –

答えて

1

または

$("#terms").find("ul li:last").text(); 

または

$("#terms").find("ul:last-child").text(); 

だったと仮定します。しかし、あなたの質問に基づいて

ORあなたは:nth-child(n)セレクタを使うコールド空想を取得したい場合(ベースではない0)

...

$("#terms li:last").text()はトリックを行う必要があります。

+0

私の兄弟セレクタのアプローチがテキストの繰り返しを引き起こしていた理由は何ですか? –

+0

私は問題があなたが 'li'sの別のセットを選んでいたことだと思っています... – Yoshiyahu

+0

"問題はあなたが '' '' '' '' '' '' '' '' '' '' '' '' '' – Blazemonger

0

これを試してみてください:

$("#terms").find(".taxonomy_term_2 last").text(); 
0

あなたは<span id="terms"を持っており、JavaScriptで#tagsあります。

0

idが表示されないtags、あなたのHTMLスニペットにはtermsと表示されます。私はあなたが使用することを意図セレクタは、私は両方が動作するはずと信じて

$("#terms li:last").text() 
0

これはあなたを助けることができます。

$(document).ready(function() { 
    $("#terms li").click(function(){ 
     alert($(this).children('a').html()); 

    }); 
}); 

htmlが

<span id="terms" > 
<ul class="links inline"> 
<li class="taxonomy_term_14 first"><a href="#" rel="tag" title="National Site">national</a></li> 
<li class="taxonomy_term_2 last"><a href="#" rel="tag" title="nyc">nyc</a></li> 
</ul></span>