0

如果我动态生成与此类似的 HTML?

<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>

我有一个包含字符串的 javascript 变量Group4

我如何 console.log 或 alert tab_pg_5

4

4 回答 4

1

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

var myVar = 'Group4';
console.log($('a[href^="#ui-tabs-"] span:contains("' + myVar + '")').closest('li').attr('id'));
于 2012-07-09T12:19:51.097 回答
0

像这样的东西就足够了。使用<ul>它,您可以使选择器更具体。

var myId = 'Group4';
var elementId = $('li:contains(' + myId + ')').attr('id');
于 2012-07-09T12:16:30.423 回答
0

你只需要添加一个点击事件并使用最接近的

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

工作演示

于 2012-07-09T12:34:02.027 回答
-1

哦,是的,我完全误解了这个问题,所以:

$('a span').each(function({ 
    if ((this).html() == 'Group 4'))
        var = $(this).parent().parent();
});
于 2012-07-09T12:14:11.107 回答