【问题标题】:Getting ID of outer element获取外部元素的ID
【发布时间】:2012-07-09 12:11:27
【问题描述】:

如果我动态生成类似这样的 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

如何控制台.log 或提醒tab_pg_5

【问题讨论】:

  • console.log($("li:contains('Group4')").attr("id"));

标签: jquery jquery-ui jquery-selectors jquery-ui-tabs jquery-tabs


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    这样的事情就足够了。使用&lt;ul&gt; 围绕它,您可以使选择器更加具体。

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

    【讨论】:

      【解决方案3】:

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

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

      WORKING DEMO

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

        • 但是我不知道id,我想使用字符串Group4找到id。
        猜你喜欢
        • 2017-09-07
        • 2011-01-26
        • 1970-01-01
        • 2011-04-07
        • 2014-07-16
        • 2017-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多