【问题标题】:Find tag that contains certain text and add a class查找包含特定文本的标签并添加一个类
【发布时间】:2012-11-23 10:54:15
【问题描述】:

我有以下 HTML,我需要向 <li><a> 添加一个类,其中存在文本“图表”(所以不是第二行,而是第四行和第五行)。我无法更改 HTML 的输出。

<div class="wp-submenu-wrap">
    <div class="wp-submenu-head">Charts</div>
    <ul>
        <li class="wp-first-item">
            <a class="wp-first-item" tabindex="1" href="admin.php?page=charts">Charts</a>
        </li>
        <li>
            <a tabindex="1" href="admin.php?page=add-chart">Add Chart</a>
        </li>
    </ul>
</div>

我尝试通过定位包含文本的&lt;a&gt; 标记来执行此操作,但它不起作用。有人可以指出我正确的方向吗?谢谢。

我尝试过的代码 -

$(document).ready(function(){

    if(pagenow === 'admin_page_edit-chart') {

        var page = $('.wp-submenu-wrap a:contains["Charts"]');

        page.addClass('current');
        page.parent('li').addClass('current');

    }

});

【问题讨论】:

    标签: jquery contains


    【解决方案1】:

    应该是:contains('text')。除此之外,您的代码看起来还不错。

    【讨论】:

      【解决方案2】:

      您的:contains() 选择器无效。

      变化:

      a:contains["Charts"]
      

      收件人:

      a:contains("Charts")
      

      http://jsfiddle.net/C8KVW/

      【讨论】:

      • 谢谢,这太明显了,我看不到!
      【解决方案3】:

      试试这个

          var page = $('.wp-submenu-wrap a:contains("Charts")');
      
          page.addClass('current');
          page.parent().addClass('current');
      

      【讨论】:

        【解决方案4】:

        以下代码应该可以完成这项工作:

        $(".wp-submenu-wrap a:contains('Charts')")
            .parent("li")
            .andSelf()
            .addClass("current");
        

        【讨论】:

          猜你喜欢
          • 2014-06-01
          • 2010-10-26
          • 1970-01-01
          • 2017-01-24
          • 2020-12-25
          • 1970-01-01
          • 2017-04-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多