使用jquery从文件中获取CSS数据

时间:2013-05-21 19:35:45

标签: jquery html json

我希望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

放入jquery
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);

2 个答案:

答案 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');

可能有效...