2011-05-18 69 views
1

得到了與IE8的一個小問題...jQuery的問題與IE瀏覽器...仍然工作在Firefox和Chrome的

下面的代碼在Firefox和Chrome精...

<html> 
<head> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("[title=\"CAPPL:LOCAL.L_hk[1].vorlauftemp_ist-shortText\"]").css("background-  color","red"); 
}); 
</script> 
</head> 
<body> 
<div title="CAPPL:LOCAL.L_hk[1].vorlauftemp_ist-shortText">Value</div> 
</body> 
</html> 

如果我想要在IE8或以下版本中使用此代碼崩潰沒有任何錯誤信息... 有沒有人有這個棘手的問題的解決方案?

P.S.卸載IE8是NOOOO解決方案:d

+0

工程在IE8我... HTTP://jsfiddle.net/P8wdx/1/ – anothershrubery 2011-05-18 15:01:06

+0

如果你把單引號您的jQuery選擇,你不需要逃脫雙引號。 :-) – 2011-05-18 15:02:07

+0

順便說一句,你可以使用'而不是\'。如果你使用沒有語法高亮的編輯器,它會讓你感到困惑。 – reporter 2011-05-18 15:04:12

回答

2
$(document).ready(function() { 
    $("[title=CAPPL\\:LOCAL\\.L_hk\\[1\\]\\.vorlauftemp_ist-shortText]").css({"background-color" : "red"}); 
}); 

似乎IE7/IE8兼容模式還需要在屬性值特殊字符,使用雙反斜槓逃脫。還要注意它的工作原理沒有之前逃離_和報價和標題後,如果您想使用任何 元字符(如 的不需要

jquery docs

!」 #$%&'()* +,。/:; < =>?@ []^{|}〜)作爲 文字部分的一個名字,你必須 轉義字符有兩個 反斜槓:\\。例如,如果您的 具有id =「foo.bar」的元素,那麼您的 可以使用選擇器$("#foo\\.bar")。 關於有效的 CSS選擇器的W3C CSS規範contains the complete set of rules

+0

Unitl然而我總是使用http://www.t3schools.com/tags/tryit.asp?filename=tryhtml_table_test的TryIt編輯器。當我在Firefox中執行你的代碼時,它可以工作,但在IE中它不會。 – Andreas 2011-05-18 15:22:17

+0

剛剛在IE9中試過,它沒有工作。確實是一個奇怪的問題 – 2011-05-18 15:23:11

+0

@Rory,@Andreas它在本地爲我工作IE7&8,並在[JSFiddle](http://jsfiddle.net/clairesuzy/mPXKx/)中工作 - 不能說IE9,但我更新了回答一些參考 – clairesuzy 2011-05-18 15:34:14

0

嘗試的.css({「背景色」,「紅」}) 我不知道如果多數民衆贊成的問題,但其之前給我帶來的悲傷(失蹤的{S)

+0

nope,沒有工作:( – Andreas 2011-05-18 15:01:38

+0

對不起.css({「background-color」:「red」}雖然這仍然可能不是問題,我試圖重新創建錯誤atm:P – Gordnfreeman 2011-05-18 15:04:30

0

不確定它是否是拼寫錯誤,但「背景色」中的空格將導致它不起作用。

+0

是的,我解決了在上面我的小提琴,但由於空間它不會在任何瀏覽器工作。 – anothershrubery 2011-05-18 15:03:55

+0

這是一個打字錯誤...太多空間^^「 – Andreas 2011-05-18 15:07:27

+0

@Andreas你應該更新與空間刪除的問題:) – bzlm 2011-05-18 15:28:00

0

@anothershrubery是正確的..它的工作在IE8 http://jsfiddle.net/ha44p/

你拼錯了CSS屬性背景顏色,這似乎是這個問題。

1

IE問題是選擇器中有方括號和冒號的組合。

這小提琴在IE(無:或[]):http://jsfiddle.net/aM9nX/4/

這小提琴在IE工程(具有[]):http://jsfiddle.net/4nfHW/1/

這撥弄不(具有:和[]): http://jsfiddle.net/xghtg/3/

您可以刪除這些字符嗎?

+0

我可以刪除它們,但我需要這些變量與服務器後面的控制面板進行通信。如果我刪除它們,我無法將它添加到確切的位置... – Andreas 2011-05-18 15:13:36

+0

http://jsfiddle.net/ xghtg/3 /在IE8中運行良好,這意味着在IE8中打開時nackground是綠色的。我不認爲''''''和':'是一個問題.. – 2011-05-18 15:16:14

+0

@Aravindan你是對的,http:// jsfiddle。 net/xghtg/3 /在I中工作E8,但無法在IE7或IE9(我最初測試過)......奇怪? – 2011-05-18 15:21:42

0

這是完全致力於FF,Safari瀏覽器,瀏覽器,IE9,IE8,除了在IE7

親眼見證。我改變了\「,因爲它是更正確的感謝逃脫它。

http://jsfiddle.net/p2ReV/

相關問題