2010-07-15 69 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匹配並向其中添加一個類(不推薦儘管..更好地使用服務器端腳本..