使用jquery将文本颜色更改为背景颜色

问题描述:

使用Wordpress编辑器更改文本颜色,是否有方法可以使用jquery强制它使此背景颜色代替。使用jquery将文本颜色更改为背景颜色

这是当我改变文本的颜色WP呈现什么:

<p> 
    <span style="color: #ff0000;"> 
     <a style="color: #ff0000;" href="#">Link name</a> 
    </span> 
</p> 

我希望背景是我选择任何颜色来代替。

沿线的东西,但我卡住了。 [选择的颜色]只是一个占位符,所以你可以看到我想要做什么。

$("p span a").css("background-color","[THE SELECTED COLOUR]"); 

这样吧,在这里你遍历虽然他们都

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p> 
 
    <span style="color: #ff0000;"> 
 
     <a style="color: #ff0000;" href="#">Link name</a> 
 
    </span> 
 
</p> 
 
<p> 
 
    <span style="color: #0000ff;"> 
 
     <a style="color: #0000ff;" href="#">Link name</a> 
 
    </span> 
 
</p> 
 
<script> 
 
    $("p span a").each(function(index) { 
 
    $(this).css("background-color", $(this).css("color")); 
 
    $(this).css("color", "white"); 
 
    }); 
 
</script>

或者,如A.Wollf建议在他的评论,请使用function

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p> 
 
    <span style="color: #ff0000;"> 
 
     <a style="color: #ff0000;" href="#">Link name</a> 
 
    </span> 
 
</p> 
 
<p> 
 
    <span style="color: #0000ff;"> 
 
     <a style="color: #0000ff;" href="#">Link name</a> 
 
    </span> 
 
</p> 
 
<script> 
 
    $("p span a").css({"background-color":function(){ return $(this).css('color'); }, "color": "white"}); 
 
</script>

+0

工作只为一个元素,或者都有相同的颜色。 'css()'方法接受一个应该在这里使用的函数,例如:'$(“p span a”)。css(“background-color”,function(){return this(this).css('color '); });'。但你仍然需要重置颜色(不是背景),否则,无法读取锚文本 –

+0

谢谢,这是完美的,因为我需要几种颜色风格。 – xhadf

+0

@ A.Wolff更新了我的回答 – LGSon

希望这将是有用的

$("p span a").css("background-color","green"); 

DEMO