2011-07-30 61 views
1

我是jQuery的新成员,并且一直在尽可能多地研究和使用它,我的问题是即将耗尽时间,我需要尽快完成此项目。无论如何我的问题...jQuery根据当前颜色更改div的背景颜色

我有一个链接,当点击它调用一个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; } 
} 

任何帮助,将不胜感激在此先感谢!

+0

PS属性IM是一个CSS属性,所以不知道是否有某种其他的方式来检查? –

+0

你可以显示JS正在使用的HTML吗? –

回答

1

考虑使用.toggleClass代替:

CSS:

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

JS:

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

我把那里只是为了表明我的变量值有他们有引号的价值,也有实际的颜色代码不是黄色或白色......我有一种感觉,可能会导致混淆生病现在 –

+0

感谢您的帮助! –

+0

没问题! :) –

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更具描述性。

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