Arv*_*waj 0 javascript regex jquery color-codes
我有一个元素的HTML源代码.我想搜索其中的所有十六进制颜色代码,并用它们的RGB等价替换它们.我怎么能用JavaScript做到这一点?
例如:
This is <span style="color:#FF0000">red</span> and <span style="color:#3C9310">green</span> color.
Run Code Online (Sandbox Code Playgroud)
应该换成
This is <span style="color: rgb(255, 0, 0)">red</span> and <span style="color: rgb(60, 147, 16)">green</span> color.
Run Code Online (Sandbox Code Playgroud)
你可以使用jquery css('color')
.
$('#spcolor').css('color')
Run Code Online (Sandbox Code Playgroud)
对于迭代通过许多元素具有相同的类.
$('.someclass').each(function(){
alert($(this).css('color'))
});
Run Code Online (Sandbox Code Playgroud)
如果您想将字符串中的所有十六进制颜色转换为十进制 RGB 值str
,以下操作将起作用。请注意,这仅考虑 8 位/通道十六进制值(例如#FF0000
)而不考虑 4 位变体(例如#F00
);但是,这很容易增强。
var rgbHex = /#([0-9A-F][0-9A-F])([0-9A-F][0-9A-F])([0-9A-F][0-9A-F])/gi
str.replace(rgbHex, function (m, r, g, b) {
return 'rgb(' + parseInt(r,16) + ','
+ parseInt(g,16) + ','
+ parseInt(b,16) + ')';
})
Run Code Online (Sandbox Code Playgroud)