我想复制background-color
值并将其粘贴到<strong>
标记中:
<span class="swatch" style="background-color: #d1f2a5;"><strong>paste here</strong><em></em></span>
复制/粘贴会有多个实例。
答案 0 :(得分:3)
您可以使用.css():
来实现这一目标$('span.swatch > strong').css('background-color', $('span.swatch').css('background-color'));
或更通用的方法:
var strong = $('span.swatch > strong');
strong.css('background-color', strong.parent().css('background-color'));
我刚才意识到我可能误解了你的问题,这里是你如何将背景颜色设置为html内部文本:
var strong = $('span.swatch > strong');
strong.html(strong.parent().css('background-color'));
另请参阅vzwick`s answer converting the rgb string to the commonly used hex format。
答案 1 :(得分:1)
如果我正确地提出了您的问题,您希望以编程方式将背景颜色的值插入<strong>
,对吧? - Working fiddle here
$('span.swatch').each(function(i,e){
bgcolor = rgbToHex($(e).css('background-color'));
$('> strong', e).html(bgcolor);
});
function rgbToHex(rgbString) {
var parts = rgbString.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
delete (parts[0]);
for (var i = 1; i <= 3; ++i) {
parts[i] = parseInt(parts[i]).toString(16);
if (parts[i].length == 1) parts[i] = '0' + parts[i];
}
var hexString ='#'+parts.join('').toUpperCase(); // "#0070FF"
return hexString;
}
P.S。:rgbToHex()
公然stolen from here - 所有功劳归于nickf.