1

我希望 jQuery从不在文档中background-color的类中选择一个(尽管使用相同的颜色)。csshover

这是我目前得到的代码:

<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 数据库,并被放入 jqueryJSON

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-colorcss文件中获取颜色。

编辑:解决方案如下:

var color = window.getComputedStyle($(".color_"+d.color+"1").get(0),':hover').getPropertyValue('background-color');
$('.color_red2').css("background-color",color);
4

2 回答 2

2

你能不使用 JQuery 的 addClass('color_orange2') 和 removeClass('color_red2') 来获得你想要的结果吗?

此外,您可以在 CSS 中使用 :hover 和 :active ,因此如果更改仅在用户单击时可见,您甚至不必使用 JQuery。但如果你想要永久的,我建议只是改变课程。

于 2013-05-21T20:08:04.220 回答
1

您可以尝试使用getComputedStyle来评估 div 的类。我想像

var color = window.getComputedStyle($('.color_red1').get(0),':hover').getPropertyValue('background-color');

可能会工作......

于 2013-05-21T20:08:41.767 回答