JQuery选择style = background-color的所有p标签

时间:2018-04-17 12:04:15

标签: jquery css

我需要做的是将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>

2 个答案:

答案 0 :(得分:2)

$(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>

答案 1 :(得分:0)

JQuery在&#34; css&#34;中返回RGB值而不是十六进制代码。函数,如http://api.jquery.com/css/所示。

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