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