jQuery根据当前颜色更改div的背景颜色

时间:2011-07-30 18:02:19

标签: javascript jquery ajax

我是jQuery的新手,并且一直在研究和玩它,我的问题是我的时间不多了,我需要尽快完成这个项目。无论如何我的问题......

点击时我有一个链接调用jquery ajax函数正常工作...成功后我希望代码改变div的背景颜色但这取决于它当前的颜色因为它可以切换回来两种颜色之间......

无论如何,这是我一直在玩的...

highlightColor = "#d8fe00"; //Updated to not cause confusion...
whiteColor = "#ffffff"; //Updated to not cause confusion...

$("input[value*='" + cId + "']").closest("div[class*='link-black']").attr("background-color", function(iPos, color) {
if(color != highlightColor) { return highlightColor; }
else { return whiteColor; }
}

提前感谢任何帮助!!

3 个答案:

答案 0 :(得分:1)

请考虑使用.toggleClass

<强> CSS:

.highlight { background-color: 'yellow'; }

<强> JS:

$("#selector").toggleClass("highlight");

答案 1 :(得分:1)

如何用 使用javascript设置样式并利用好的CSS?

<强> CSS

.white { background-color: white; }
.white.highlight { background-color: yellow; }
.red { background-color: red; }
.red.highlight { background-color: pink; }

JS

 $("input[value*='" + cId + "']").closest("div[class*='link-black']").toggleClass('highlight');

答案 2 :(得分:0)

.classOne { color: red; }
.classTwo { color: blue; }
.classThree { color: green; }

.classOne.highlighted { background-color: white; }
.classTwo.highlighted { background-color: black; }
.classThree.highlighted { background-color: purple; }

在AJAX回调中,您所要做的就是将“突出显示”类添加到元素中。您可以让CSS确定文本的颜色以及背景应该是哪种颜色。这些类显然应该比classOne更具描述性。