我希望jQuery从background-color
类中选择一个不在文档中的css
(尽管hover
使用相同的颜色)。
这是我目前的代码:
<a id='changetext1'>
<div class='tile color_red1'>text</div>
</a>
<a id='changetext2'>
<div class='tile color_orange1'>text</div>
</a>
<div class='rightside color_red2' id='rightside'>some more text</div>
右侧以color_red2
开头,但我希望点击color_orange2
color_orange1
后更改为div
。当然,当点击红色color_red2
时,将其更改为div
。
文本和颜色来自sql数据库,并通过JSON
function rightSideData(data) {
$.each(data, function(i, d) {
$("#changetext" + d.id).on('click', function() {
//Change the background color to match the :hover color of the right div TODO
});
}
});
切换文本的部分工作正常,我坚持改变background-color
属性。可以从JSON
数据(d.color
)中检索颜色,但我无法弄清楚如何从.color_orange2
文件中获取background-color
css
。< / p>
编辑:解决方案如下:
var color = window.getComputedStyle($(".color_"+d.color+"1").get(0),':hover').getPropertyValue('background-color');
$('.color_red2').css("background-color",color);
答案 0 :(得分:2)
你可以不使用JQuery的addClass('color_orange2')和removeClass('color_red2')来获得你想要的结果吗?
此外,您可以:在您的CSS中使用:hover和:active,这样如果只是在用户点击时才会看到更改,您甚至不必使用JQuery。但是如果你想要永久性的话我建议你改变课程。
答案 1 :(得分:1)
您可以尝试使用getComputedStyle来评估div的类。我觉得像
var color = window.getComputedStyle($('.color_red1').get(0),':hover').getPropertyValue('background-color');
可能有效...