2010-03-17 19 views
0

IE不喜歡線下jQuery:這個jQuery.css()調用有什麼問題?

jQuery(this).css('background-color','#' + jQuery(this).prev().val()); 

大幅符號,所以我不知道是否有寫的沒有IE出現錯誤同樣以不同的方式?

+1

你會得到什麼錯誤?我已經使用類似的代碼(即連接'#'+變量來獲取內容),它在IE中完美運行。可能錯誤是$(this).prev()。val()爲空或空? – salgiza 2010-03-17 15:25:33

+0

它在其他瀏覽器中工作嗎? – 2010-03-17 15:34:14

+0

是的,看起來像IE不喜歡空值。 增加了一張支票,現在它工作正常。 謝謝! – Vassilis 2010-03-17 15:37:25

回答

1

我在IE中測試了$(this).css('background-color', '#fff000');,它工作正常,所以我不認爲它是尖銳的。它是如何構建顏色的,或者是帶有引號的問題。請嘗試:

var newColorTest1 = '#' + jQuery(this).prev().val(); 
alert(newColorTest1); 
jQuery(this).css('background-color', newColorTest1); 

警告框中顯示了什麼?

jQuery(this).prev().val();在您的標記中的值是多少?

+0

感謝您的回答。問題是在某些情況下該值爲空,並導致錯誤。 if(jQuery(this).prev()。val()!='') 解決了它。 – Vassilis 2010-03-17 15:44:04

+0

沒問題。如果調查'jQuery(this).prev()。val();'幫助找到根本原因,請考慮標記爲答案... – 2010-03-17 20:24:39