【问题标题】:JQuery Select all p tag with style=background-colorJQuery选择所有样式=背景颜色的p标签
【发布时间】:2018-09-27 09:26:12
【问题描述】:

我需要做的是添加 CSS 到一个段落标签,如果它有 style=background-color:#aaddff;

我有以下内容,但有些地方不太正确,因为没有添加边框。

我需要使用 element.style 还是完全不同的东西?

<script type="text/javascript">
    $(function () {
        $('p').filter(function () {
         return $(this).css("background-color") === "#aaddff";
        })
        .css("border", "2px solid black");
    });

</script>

</head>

<body>
<div>       
    <p class="test" style="background-color:#aaddff;">Hello</p>
    <p class="test" style="background-color:blue;">Hello</p>
    <p class="test" style="background-color:#aaddff;">Hello</p>
</div>
</body>

【问题讨论】:

标签: jquery css


【解决方案1】:

$(this).css("background-color") 正在返回您颜色的 RGB 值,因此您必须比较它,而不是十六进制值:

$('p').filter((_, e) => $(e).css("background-color") == "rgb(170, 221, 255)")
  .css("border", "2px solid black");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="test" style="background-color:#aaddff;">Hello</p>
<p class="test" style="background-color:blue;">Hello</p>
<p class="test" style="background-color:#aaddff;">Hello</p>

【讨论】:

    【解决方案2】:

    JQuery 在“css”函数中返回一个 RGB 值而不是十六进制代码,正如您在 http://api.jquery.com/css/ 中看到的那样。

    您可以使用代码in this answer 转换为十六进制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2014-02-12
      相关资源
      最近更新 更多