0

如果我動態生成類似於此的HTML?獲取外部元素的ID

<li class="ui-state-default ui-corner-top" id="tab_pg_4"> 
    <a href="#ui-tabs-8"><span>Group5</span></a> 
</li> 

<li class="ui-state-default ui-corner-top" id="tab_pg_5"> 
    <a href="#ui-tabs-10"><span>Group4</span></a> 
</li> 

<li class="ui-state-default ui-corner-top" id="tab_pg_6"> 
    <a href="#ui-tabs-19"><span>Group8</span></a> 
</li> 

,我有一個包含字符串Group4

如何CONSOLE.LOG或警報tab_pg_5一個javascript變量?

+0

的console.log($( 「李:包含( '組別4')」。)ATTR(」 ID」)); – Jithin 2012-07-09 12:20:54

回答

1

使用jquery函數.closest()找到最接近的匹配祖先。

var myVar = 'Group4'; 
console.log($('a[href^="#ui-tabs-"] span:contains("' + myVar + '")').closest('li').attr('id')); 
-1

噢,我完全missunderstand的問題,所以:

$('a span').each(function({ 
    if ((this).html() == 'Group 4')) 
     var = $(this).parent().parent(); 
}); 
+0

但我不知道ID,我想使用字符串Group4來查找ID。 – oshirowanen 2012-07-09 12:15:19

+2

你甚至沒有讀過這個問題。 – Matt 2012-07-09 12:15:22

0

這樣的事情應該足夠了。圍繞它的<ul>,您可以使選擇器更具體。

var myId = 'Group4'; 
var elementId = $('li:contains(' + myId + ')').attr('id'); 
0

你只需要添加一個點擊事件並使用最接近

$('a').click(function(){ 
    var lid = $(this).closest('li').attr('id'); 
    alert(lid); 
}); 

WORKING DEMO