2011-09-13 165 views
0

我有這樣的HTML從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> 

我使用這個jQuery來從第二<li>文本「NYC」。

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

當我檢查,查看標記文本,文件撰寫(標記文本)顯示,而不是僅僅 「nynynynynynynynynynynynynynynyny」 「NYC」。它爲什麼重複?

+2

也許我想指出,你有ID的'span'「條款」,但你的jQuery選擇的找身份證「標籤」的元素。這可能與您遇到的問題有關。如果$('#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(); 

我相信雙方應該工作。

或者如果你想獲得看上你冷用:nth-child(n)選擇(不爲0爲主)

基於但是你的問題......

$("#terms li:last").text()應該做的伎倆。

+0

非常感謝,並且想法爲什麼我的兄弟選擇器方法導致文本重複? –

+0

我認爲問題在於你選擇了不同的「li」集合...... – Yoshiyahu

+0

「我認爲問題在於你選擇了一組不同的」li「。 – 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>