【问题标题】:Contains certain text but does not contain certain img, apply a css style to that包含某些文本但不包含某些 img,对其应用 css 样式
【发布时间】:2011-08-06 09:54:59
【问题描述】:

jquery如何表达以下内容?

为包含“$”但不包含 img src="images/plus.gif" 的表中的每个 td 应用黄色背景

我可以只为包含部分使用:

$("#SubscribersManageList tr:contains('$')").css("background", "yellow");

但这不是我想要的,我想要的是选择那些包含“$”但不包含图像 src="images/plus.gif" 的 tr,然后将黄色背景应用于这些 tr。

有人吗?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    您可以组合 :not() 和 :has() 选择器:

    $("#SubscribersManageList td:contains('$'):not(:has(img[src='images/plus.gif']))")
        .css("background", "yellow");
    

    您可以在this fiddle 进行测试。

    【讨论】:

      【解决方案2】:

      How is this for you?

      $('#SubscribersManageList tr:contains("$"):not(:has(img[src="images/plus.gif"]))').css("background-color", "yellow");
      

      【讨论】:

        【解决方案3】:

        使用.not() 过滤掉那些。

        $("#SubscribersManageList tr:contains('$')").not(:has('img[src|="images/plus.gif"]')).css("background", "yellow");
        

        表达式

        .not(:has(img[src|="images/plus.gif"]))
        

        表示不要选择src 为"images/plus.gif" 的任何子img

        【讨论】:

          猜你喜欢
          • 2021-02-01
          • 2013-07-02
          • 1970-01-01
          • 2018-02-27
          • 2022-01-20
          • 1970-01-01
          • 2019-05-28
          • 1970-01-01
          • 2011-08-09
          相关资源
          最近更新 更多