Jquery最后一个子项或第n个子项如果==”则;销售「;

Jquery最后一个子项或第n个子项如果==”则;销售「;,jquery,css-selectors,Jquery,Css Selectors,我有一个下拉菜单,只有当字符串等于“SALE”时,我才尝试更改列表的最后一项,并使其变为红色。我可以通过使用第n个子项或最后一个子项成功选择列表中的任何项目,但并非所有下拉列表都具有字符串SALE。如何使用jQuery实现这一点 jQuery('ul.top-cat-links li.top-cat-tops a:last-child').css('color','#ff0000'); 如果SALE不直接位于li元素中,则可以使用:has: ul.top-cat-links li.to

我有一个下拉菜单,只有当字符串等于“SALE”时,我才尝试更改列表的最后一项,并使其变为红色。我可以通过使用第n个子项或最后一个子项成功选择列表中的任何项目,但并非所有下拉列表都具有
  • 字符串
    SALE
    。如何使用jQuery实现这一点

    jQuery('ul.top-cat-links li.top-cat-tops a:last-child').css('color','#ff0000');    
    

    如果
    SALE
    不直接位于
    li
    元素中,则可以使用
    :has

    ul.top-cat-links li.top-cat-tops:has(:contains("SALE")) a:last-child
    
    如果是,您可以使用
    :contains

    ul.top-cat-links li.top-cat-tops:contains("SALE") a:last-child
    

    使用JavaScript添加这样的类不是一个好主意。为什么不使用服务器端语言添加它们?

    谢谢Blender。这很有效,但我必须删除sale字符串中的引号。为什么通过Javascript添加不是一个好主意?@Jgunzblazin:为什么要用Javascript添加它?在服务器端做比较容易。我对这方面还不太熟悉。我不知道如何在服务器端完成。@Jgunzblazin:您是如何生成HTML的?@Blender。在服务器端执行它的唯一原因是因为它更简单吗?使用上述方法非常简单。。。我正在使用Demandware SASS平台并在.isml模板中创建html。