2011-05-18 64 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/

相关问题