2010-07-15 86 views
-1

对不起,为什么不清楚,我的意思是这个。CSS,如果html值,更改颜色

当前在页面加载中,我获取具有某个ID的链接,检查我的数据库,然后将结果返回到链接。因此,从本质上讲:

<a href="#" class="switcher" id="Site_Gallery-<?php echo $item->id; ?>">...loading....</a> 

变为::

<a id="Site_Gallery-563" class="switcher" href="#">Enabled</a> 

<a id="Site_Gallery-563" class="switcher" href="#">Disabled</a> 

我想什么待办事项是CSS,或可能对AJAX调用(不理想),是看看那个值,然后将链接颜色设置为绿色或红色。

我在CSS想通有可能在客场-DO

.switcher='Enabled' { 
    color: green; 
} .switch='Disabled' { 
    color: red; 
} 

有什么招数来,做到这一点? P.S谢谢您的回答至今

+3

启用怎么样?包含单词“启用”? – 2010-07-15 14:38:41

+2

你是什么意思'启用'? – 2010-07-15 14:39:20

回答

3

很确定你不能用直接的CSS检查元素的值。在jQuery的它看起来像:

$(function(){ 
    $(".switcher").each(function(){ 
     if ($(this).text() == "Enabled"){ 
      $(this).addClass("enabled"); 
     } else { 
      $(this).removeClass("enabled"); 
     } 
    }); 
}); 

,然后在CSS你可以找到“启用”类与“裸”开关类:

.switcher{ 
    color:red; 
} 

.switcher.enabled{ 
    color:green; 
} 
+0

谢谢,我做这个自己的功能,然后触发它的成功。 – azz0r 2010-07-15 16:34:39

+0

fyi,它需要如果($(this).text()==“Enabled”){ – azz0r 2010-07-16 10:25:29

+0

@ azz0r,是的,谢谢你指出。我修正了它,以防有人使用这个问题。 – 2010-07-18 23:04:34

0

试试这个:

$('a#id').change(function() { 
    $(this).css('color', 'green'); 
}); 

但它不会工作,因为你不能“变”超链接HTML,没有另一个脚本。功能change意在与文本输入一起使用,如

希望我已经帮助。

编辑:刚刚你的意思(我认为)。如果启用,您的意思是当您的鼠标悬停在链接上时,css伪类:hover可以很好地实现。检查它在谷歌,你会得到吨结果

1
val = $('#toggleElement').val() 
    if(val!==''){ 
    $('#toggleElement').css('color','green') 
} 
1

的也许

$('a[enabled]').css('color', 'green'); 

是如何风格使用CSS链接在正确的方向迈出的一步,也许

$('a[enabled=true]').css('color', 'green'); 
+0

理论上一个简单的“一个[启用]”也可以在CSS中工作,除了HTML有效性外... – annakata 2010-07-15 14:44:49

+0

这是真的,但是im不知道它在IE的工作 – Lourens 2010-07-15 14:47:08

1

您或许正在寻找:active:focus伪选择器。

0

有些情况下

如果与enabled你的意思

  • 鼠标了它:使用CSS a#id:hover{...}
  • 鼠标点击:使用CSS a#id:active{...}
  • 当前正在查看的链接内容:您需要使用jQue ry在链接已被点击后添加一个类(,如果ajax)。或者以某种方式解析URL,将其与链接的href匹配并向其中添加一个类(不推荐尽管..更好地使用服务器端脚本..