1

我有以下 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>

我已经尝试通过定位<a>包含文本的标签来做到这一点,但它不起作用。有人可以指出我正确的方向吗?谢谢。

我试过的代码 -

$(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');

    }

});
4

4 回答 4

3

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

于 2012-11-23T10:56:51.220 回答
3

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

改变:

a:contains["Charts"]

到:

a:contains("Charts")

http://jsfiddle.net/C8KVW/

于 2012-11-23T10:57:46.110 回答
2

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

$(".wp-submenu-wrap a:contains('Charts')")
    .parent("li")
    .andSelf()
    .addClass("current");
于 2012-11-23T10:57:20.607 回答
2

试试这个

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

    page.addClass('current');
    page.parent().addClass('current');
于 2012-11-23T10:59:43.917 回答